通过映射数组创建展平的数组

时间:2018-02-08 16:22:06

标签: javascript

我有以下数组或数组:

const aa = [
  [1,2,3],
  [4,5,6],
  ... could be more here
];

我想创建一个如下所示的数组:

[1,2,3,4,5,6]

我目前有:

const result = aa.map(a => [...a]);

result是:

[[1,2,3],[4,5,6]]

我知道如何使用以下方法展平数组:

var flattenedArray = [].concat(...result);

但我只是想知道我是否可以在map中做出任何不同的事情来创造我想要的结果而不需要额外的"展平"步骤

3 个答案:

答案 0 :(得分:1)

执行az storage blob delete-batch -h 函数,然后使用join函数解析结果。



parse

const aa = [
  [1, 2, 3],
  [4, 5, 6]
];

console.log(JSON.parse(`[${aa.join()}]`));




此外,您可以使用.as-console-wrapper { max-height: 100% !important }



Spread operator




资源

答案 1 :(得分:1)

如果您使用reduce()代替map(),则可以一步完成。

const aa = [
  [1,2,3],
  [4,5,6]
];

const result = aa.reduce((r, e) => [...r, ...e] , []);
console.log(result)

答案 2 :(得分:1)

您可以检查并将映射的平面阵列连接到新阵列。



var flat = a => [].concat(...(Array.isArray(a) ? a.map(flat) : [a])),
    array = [[1, 2, 3], [4, 5, [6, 7, 8]]],
    result = flat(array);

console.log(result);