将数组的每个第n个元素转换为javascript中的对象

问题描述 投票:0回答:1

我想转换:

var people = [1,"Shaw","Tanzania",2,"Nelson","Kazakhstan",3,"Garcia","Madagascar"]

成:

var rows = [
    [1, "Shaw", "Tanzania"],
    [2, "Nelson", "Kazakhstan"],
    [3, "Garcia", "Madagascar"]
];

我已经看到了类似问题的答案,但我不明白它是如何工作的,并将其扩展到每个第n个元素

javascript jquery arrays loops
1个回答
3
投票

使用Array#slice的for循环。您使用require chunk size作为步骤迭代原始数组。在每次迭代中,您从原始数组切片相关部分(切片不会改变数组),并将其推入结果数组。

var people = [1,"Shaw","Tanzania",2,"Nelson","Kazakhstan",3,"Garcia","Madagascar"];

var result = [];
var chunkSize = 3;

for(var i = 0; i < people.length; i+= chunkSize) {
  result.push(people.slice(i, i + chunkSize));
}

console.log(result);
© www.soinside.com 2019 - 2024. All rights reserved.