javascript - 将数组变成多维数组? JavaScript

标签 javascript arrays multidimensional-array

我正在努力创建一个简单的函数,该函数将采用一个数组,例如

["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/

相关文章:

javascript - Jquery div 选通

javascript - 在 openshift Node js 应用程序中获取请求

javascript - Google Vision API 调用的 CORS 问题

ios - Swift,UIView 到二维数组中的位置

c - 代码中的持久性值不正确

arrays - 如何在 PowerShell 5.0 中初始化数组数组(多维)

javascript - AJAX 成功后刷新 Div

python - 用于节省内存的 Numpy nditer?

java - 如何搜索 2D 字符串数组 - Java

php - 来自 php 数组的意外 json 输出结构