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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将数组的每个第n个元素转换为javascript中的对象相关的知识,希望对你有一定的参考价值。

我想转换:

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

成:

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

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

答案

使用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);

以上是关于将数组的每个第n个元素转换为javascript中的对象的主要内容,如果未能解决你的问题,请参考以下文章

合并k个有序数组

js字符串每个数组前面数字转换为多少个数组

将矩阵转换为矢量

使用 JavaScript 将 HTMLCollection 转换为数组

JavaScript数组

如何将数组转换为可能的最短字符串