javascript - 合并数组中未知数量的子数组

标签 javascript

我有一个这样的数组:

arr = [ [[x,x],[x,x]], [[x,x],[x,x],[x,x]], [[x,x]] ]

我想把它变成这样的数组:

arr = [  [x,x],[x,x] ,  [x,x],[x,x],[x,x],   [x,x]  ]

所以我试过这个:

for (var i=1; i< arr.length; i++){ arr[0].concat(arr[i]); }

但它不起作用。我如何“合并”这个中间级别的数组?

最佳答案

在 ES6 中你可以使用 spread syntax使用 concat()

var arr = [ [['x','x'],['x','x']], [['x','x'],['x','x'],['x','x']], [['x','x']] ]

var merged = [].concat(...arr)
console.log(JSON.stringify(merged))

对于旧版本的 ecmascript,可以使用 concat()apply() 完成相同的操作。

var arr = [ [['x','x'],['x','x']], [['x','x'],['x','x'],['x','x']], [['x','x']] ]

var merged = [].concat.apply([], arr)
console.log(JSON.stringify(merged))

关于javascript - 合并数组中未知数量的子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43142863/

相关文章:

javascript - 使用 Javascript 中的 onblur 事件在表格底部动态添加一行(没有按钮)

javascript - 如何重用 HTML 用户界面元素?

javascript - 使用 API 生成多个预签名 URL

javascript - 如何使用字符串作为 v-model 指令中的属性名称来访问 Vue 组件的数据属性?

javascript - 如何定位 div(父)内的文本区域(子)

javascript - 无法让 ADAL 拦截器在 Angular 中工作

javascript - 沙盒呈现与本地主机不同

javascript - 如何从 Three.js Canvas 中保存图像?

javascript - Node JS Express 和控制台输出到命令行与浏览器

javascript - 未捕获的类型错误 : Cannot read property 'nodeType' of null