js如何将数组元素按数量进行分组
1.期望效果
已知数组arr如下
let arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
期望效果如下
[ [ 1,2,3,4,5 ] , [ 6,7,8,9,10] , [ 11,12,13,14,15] , [ 16,17,18,19] ]
//or
[ [ 1,2 ] , [ 3,4,5 ] , [ 6,7,8,9 ] , [ 10,11,12,13,14] , [ 16,17,18,19 ]]
2.实现过程
利用数组slice()
方法
不清除数组方法的,建议仔细研读 【 javascript中数组的方法 】
slice()
:截取指定位置的数组,并且返回截取的数组,不会改变原数组
根据此方法的特性,我们可以创建一个新的属性进行数据的存储
let newArr = []
我们只需要将满足条件的截取出来的数组push到newArr
中就可以
具体实现代码:
let arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
let newListArr1 = [],newListArr2 = []
let num = 3
for(let i = 0;i<arr.length;i+=5){
newListArr.push(arr.slice(i,i+5))
}
for(let i = 0;i<arr.length;i+=num){
newListArr2.push(arr.slice(i,i+num))
num++
}
console.log(newListArr1,newListArr2)
实现的效果如图: