本篇文章给大家分享的是有关利用JavaScript怎么实现一个等分数组,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1。将数组分为两个相等的部分
我们可以分两步将数组分成两半:
使用长度/2和Math.ceil()方法找到数组的中间索引
使用中间索引和Array.splice()方法获得数组等分的部分
Math.ceil()函数返回大于或等于一个给定数字的最小整数。
const list =, (1, 2, 3, 4, 5, 6); const middleIndex =, Math.ceil(时间/list.length 2); const firstHalf =, list.splice (0,, middleIndex);,, const secondHalf =, list.splice (-middleIndex); console.log(库),,//,[1,2,3] console.log(后半叶);,//,[4,,5,6) console.log(列表),,,,,//,[]
Array.splice()方法通过删除,替换或添加元素来更改数组的内容。而Array.slice()方法会先对数组一份拷贝,在操作。
- <李>
列表。拼接(0,middleIndex)从数组的0索引处删除前3个元素,并将其返回。
李> <李>拼接(-middleIndex)从数组中删除最后3个元素并返回它。
李>在这两个操作结束时,由于我们已经从数组中删除了所有元素,所以原始数组是空的。
另请注意,在上述情况下,元素数为偶数,如果元素数为奇数,则前一半将有一个额外的元素。
const list =, (1,, 2,, 3,, 4,, 5]; const middleIndex =, Math.ceil(时间/list.length 2); list.splice (0,, middleIndex);,//, returns [1, 2, 3] list.splice (-middleIndex);,,//, returns (4, 5)
2.数组。片和数组。拼接
有时我们并不希望改变原始数组,这个可以配合Array.slice()来解决这个问题:
const list =, (1, 2, 3, 4, 5, 6); const middleIndex =, Math.ceil(时间/list.length 2); const firstHalf =, list.slice () .splice (0,, middleIndex);,, const secondHalf =, list.slice () .splice (-middleIndex); console.log(库),,//,[1,2,3] console.log(后半叶);,//,[4,,5,6) console.log(列表),,,,,//,[1,2,3,4,5,6],
我们看到原始数组保持不变,因为在使用Array.slice()删除元素之前,我们使用Array.slice()复制了原始数组。
3。将数组分成三等分
const list =, (1, 2, 3, 4, 5, 6, 7, 8, 9); const threePartIndex =, Math.ceil(时间/list.length 3); const thirdPart =, list.splice (-threePartIndex); const secondPart =, list.splice (-threePartIndex); const firstPart =,列表,,,, console.log (firstPart);,//, [1, 2, 3] console.log(二部),,//,[4,,5,6) console.log (thirdPart);,//, [7, 8, 9)
简单解释一下上面做了啥:
- <李>
首先使用st.splice (-threePartIndex)提取了thirdPart,它删除了最后3个元素[7 8 9],此列表时仅包含前6个元素(1、2、3、4、5、6]。
李> <李>接着,使用list.splice (-threePartIndex)提取了第二部分,它从剩余列表=[1、2、3、4、5、6](即(4、5、6))中删除了最后3个元素,列表仅包含前三个元素(1、2、3),即firstPart。
李> 4。Array.splice()更多用法
现在,我们来看一看Array.splice()更多用法,这里因为我不想改变原数组,所以使用了Array.slice(),如果智米们想改变原数组可以进行删除它。
const list =, (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]
获取数组前5个元素之后的所有元素
list.slice () .splice (5),//, 6, 7, 8, 9)
获取数组的最后一个元素
list.slice () .splice (1),,//, [9]
获取数组的最后三个元素
list.slice () .splice (3),,//, [7, 8, 9)
以上就是利用JavaScript怎么实现一个等分数组,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。