我正在努力创建一个简单的函数,该函数将采用一个数组,例如
["chicken","10 lbs","hot sauce","4 cups","celery","1 stalk"]
并将其转换为如下所示的多维数组
[["chicken","10 lbs"],["hot sauce","4 cups"],["celery","1 stalk"]]
本质上索引 0 和 1 合并到一个新的子数组中,然后 2 和 3 合并,依此类推...
我正在尝试增加+2的循环,但我不能完全正确,我认为这将是一个简单的解决方案,但到目前为止我所做的循环几乎使我的浏览器崩溃......任何帮助将不胜感激。谢谢
编辑:哇,感谢您的快速回复!我看了所有的东西,学到了很多东西!
最佳答案
使用Array#reduce()
、Array#concat()
和Array#slice()
var data = ["chicken", "10 lbs", "hot sauce", "4 cups", "celery", "1 stalk"];
var res = data.reduce((a, c, i) => {
return i % 2 === 0 ? a.concat([data.slice(i, i + 2)]) : a;
}, []);
console.log(res)
关于javascript - 将数组变成多维数组? JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44937470/