对不起,我的英语说得不太好。
我有一个包含多个元素的表,我想将所有X元素返回一个表中的新表。
例如:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
let newArr = [
[1,2,3],
[4,5,6],
[7,8,9],
[10,11,12],
];
这是我目前正在这样做的方式:
const size = shuffleImages.length / 4
while (shuffleImages.length > 0) {
columns.push(shuffleImages.splice(0, size))
}
我想了解如何在不使用while
的情况下执行此操作,而是使用例如.map
,还是有一种更简单的方法?
答案 0 :(得分:0)
您需要使用map
和比slice
将数组拆分成小数组:
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
var chunkSize = 3;
const groups = arr.map( function(e,i){
return i%chunkSize===0 ? arr.slice(i,i+chunkSize) : null;
}).filter((e) =>e);
console.log(groups);