如何在表格中的每个X元素上创建表格?

时间:2019-05-13 16:26:01

标签: javascript

对不起,我的英语说得不太好。

我有一个包含多个元素的表,我想将所有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,还是有一种更简单的方法?

1 个答案:

答案 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);