当前位置: 首页 > Web前端 > HTML

JavaScript中如何划分数组

时间:2023-04-02 13:07:38 HTML

作者:AshishLahoti译者:前端小智来源:jamesknelson再次点赞,微信搜索【大运世界】,B站关注【前端小智】这个没有后台在大厂里,但人心态向上,积极向上。本文已收录到GitHubhttps://github.com/qq44924588...,文章已分类,也整理了很多我的文档和教程资料。最近开源了一个Vue组件,但是还不够完善。欢迎大家一起完善,也希望大家能给个star支持一下。谢谢。github地址:https://github.com/qq44924588...在本教程中,我们来学习如何使用Array.splice()方法将数组一分为二。我们还将讨论Array.splice()和Array。它们之间的slice()不同。1.将数组分成两等分我们可以分两步将数组分成两半:使用length/2和Math.ceil()方法找到数组的中间索引使用中间索引和Array.splice()方法获取数组的等分部分Math.ceil()函数返回大于或等于给定数的最小整数。常量列表=[1,2,3,4,5,6];constmiddleIndex=Math.ceil(list.length/2);constfirstHalf=list.splice(0,middleIndex);constsecondHalf=list.splice(-middleIndex);console.log(firstHalf);//[1,2,3]console.log(secondHalf);//[4,5,6]console.log(列表);//[]Array.splice()方法通过删除、替换或添加元素来更改数组的内容。Array.slice()方法在操作前会先复制数组。list.splice(0,middleIndex)从索引为0的数组中移除前3个元素并返回它们。splice(-middleIndex)从数组中移除最后3个元素并返回它。在这两个操作结束时,由于我们已经移除了数组中的所有元素,所以原来的数组是空的。另请注意,在上述情况下,元素的数量是偶数,如果元素的数量是奇数,则前半部分将有一个额外的元素。常量列表=[1,2,3,4,5];constmiddleIndex=Math.ceil(list.length/2);列表。拼接(0,中间索引);//返回[1,2,3]列表。拼接(-middleIndex);//returns[4,5]2.Array.sliceandArray.splice有时候我们不想改变原来的数组,这可以用Array.slice()来解决:constlist=[1,2,3,4,5,6];constmiddleIndex=Math.ceil(list.length/2);constfirstHalf=list.slice().splice(0,middleIndex);constsecondHalf=list.slice().splice(-middleIndex);console.log(firstHalf);//[1,2,3]console.log(secondHalf);//[4,5,6]console.log(列表);//[1,2,3,4,5,6];我们看到原始数组保持不变,因为我们在使用Array.slice()删除元素之前使用Array.slice()复制了原始数组。3.将数组分成三份constlist=[1,2,3,4,5,6,7,8,9];constthreePartIndex=Math.ceil(list.length/3);const第三部分=列表。拼接(-threePartIndex);constsecondPart=list.splice(-threePartIndex);constfirstPart=list;控制台日志(第一部分);//[1,2,3]console.log(secondPart);//[4,5,6]console.log(thirdPart);//[7,8,9]简单说明一下上面做了什么:先用st.splice(-threePartIndex)提取ThirdPart,删除了最后3个元素[7,8,9],此时list只包含前6个元素[1、2、3、4、5、6]。接下来,使用list.splice(-threePartIndex)提取第二部分,它从剩余列表中移除最后3个=[1,2,3,4,5,6](即[4,5,6])元素,列表只包含前三个元素[1,2,3],即firstPart。4.Array.splice()的更多用法现在,让我们看一下Array.splice()的更多用法。因为不想改变原来的数组,所以使用Array.slice()。如果智米要改,原来的阵法可以去掉。常量列表=[1,2,3,4,5,6,7,8,9];获取数组的第一个元素list.slice().splice(0,1)//[1]获取数组的前5个元素list.slice().splice(0,5)//[1,2,3,4,5]获取数组list.slice()前5个元素后的所有元素.splice(5)//6,7,8,9]获取数组list.slice()的最后一个元素。splice(-1)//[9]获取数组的最后三个元素list.slice().splice(-3)//[7,8,9]代码部署后可能存在的bug无法实时获知.之后为了解决这些bug,花费了大量的时间在日志调试上。顺便推荐一个好用的bug监控工具Fundebug。原文:https://codingnconcepts.com/j...交流文章每周更新。可以微信搜索【大千世界】立即阅读,回复【福利】还有很多前端视频等着你。本文在GitHub上https://github.com/qq449245884/xiaozhi已收录,欢迎Star。