本文摘自PHP中文网,作者coldplay.xixi,侵删。
JavaScript栏目介绍如何实现等分数组
相关免费学习推荐:javascript(视频)
在本教程中,我们来学习一下如何使用Array.splice()
方法将数组等分,还会讲一下,Array.splice()
和 Array.slice()
它们之间的不同之处。
1. 将数组分为两个相等的部分
我们可以分两步将数组分成两半:
使用
length/2
和Math.ceil()
方法找到数组的中间索引使用中间索引和
Array.splice()
方法获得数组等分的部分
Math.ceil() 函数返回大于或等于一个给定数字的最小整数。
1 2 3 4 5 6 7 8 9 |
|
Array.splice()
方法通过删除,替换或添加元素来更改数组的内容。 而Array.slice()
方法会先对数组一份拷贝,在操作。
list.splice(0, middleIndex)
从数组的0
索引处删除前3
个元素,并将其返回。splice(-middleIndex)
从数组中删除最后3
个元素并返回它。
在这两个操作结束时,由于我们已经从数组中删除了所有元素,所以原始数组是空的。
另请注意,在上述情况下,元素数为偶数,如果元素数为奇数,则前一半将有一个额外的元素。
1 2 3 4 5 |
|
2.Array.slice 和 Array.splice
有时我们并不希望改变原始数组,这个可以配合 Array.slice() 来解决这个问题:
1 2 3 4 5 6 7 8 9 |
|
我们看到原始数组保持不变,因为在使用Array.slice()
删除元素之前,我们使用Array.slice()
复制了原始数组。
3.将数组分成三等分
1 2 3 4 5 6 7 8 9 10 |
|
简单解释一下上面做了啥:
首先使用
st.splice(-threePartIndex)
提取了ThirdPart,它删除了最后3个元素[7、8、9]
,此时list
仅包含前6个元素[1、2、3、4、5、6]
。接着,使用
list.splice(-threePartIndex)
提取了第二部分,它从剩余list = [1、2、3、4、5、6]
(即[4、5、6])中删除了最后3个元素,list仅包含前三个元素[1、2、3]
,即firstPart
。
4. Array.splice() 更多用法
现在,我们来看一看 Array.splice() 更多用法,这里因为我不想改变原数组,所以使用了 Array.slice(),如果智米们想改变原数组可以进行删除它。
1 |
|
获取数组的第一个元素
1 |
|
获取数组的前5个元素
1 |
|
获取数组前5个元素之后的所有元素
1 |
|
获取数组的最后一个元素
1 |
|
获取数组的最后三个元素
1 |
|
代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。
以上就是JavaScript 中实现等分数组的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《javascript》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者