如何将数组内的数组组合成一个数组? [复制]

Posted

技术标签:

【中文标题】如何将数组内的数组组合成一个数组? [复制]【英文标题】:How do I combine arrays inside arrays into a single array? [duplicate] 【发布时间】:2017-07-16 12:36:27 【问题描述】:

我有这个数组:

[[5],[27],[39],[1001]]

如何在 javascript 中将其转换成这个数组?

[5,27,39,1001]

【问题讨论】:

到目前为止你尝试了什么? 子数组可以包含多个元素吗?它们本身可以包含子子数组吗? 【参考方案1】:

实现结果的几种方法

var data = [
  [5],
  [27],
  [39],
  [1001]
];

// Use map method which iterate over the array and within the 
// callback return the new array element which is first element
// from the inner array, this won't work if inner array includes 
// more than one element
console.log(
  data.map(function(v) 
    return v[0];
  )
)

// by concatenating the inner arrays by providing the array of
// elements as argument using `apply` method
console.log(
  [].concat.apply([], data)
)

// or by using reduce method which concatenate array 
// elements within the callback
console.log(
  data.reduce(function(arr, e) 
    return arr.concat(e);
  )
)

【讨论】:

不错的解决方案

以上是关于如何将数组内的数组组合成一个数组? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

将两个数组 排列组合到一个数组集合 求java 代码

将相同numpy数组的两个视图组合成单个视图而不复制数组?

如何把2个数组合并为一个数组

如何将数组元素组合成一个新数组?

将多个 numpy 数组组合成不同形状之一

如何同时解构和复制数组?