将2D阵列转换为1D阵列

时间:2018-04-18 00:48:51

标签: javascript node.js

我有这个二维数组:

var list = [
    ['zone_1', 'zone_2'],
    ['zone_3']
]

我想将子数组中的所有元素合并为一个数组:

var list = [
    'zone_1',
    'zone_2',
    'zone_3'
]

我怎么能在node.js中做到这一点? 可以在不使用循环或地图的情况下完成吗?

2 个答案:

答案 0 :(得分:3)

数组.concat方法是可变参数,您可以使用扩展运算符将每个子数组作为单独的参数传递给它。这使得将阵列变平为一个很好的单线:



const arr = [ ['zone_1', 'zone_2'], ['zone_3'] ];
console.log([].concat(...arr))




答案 1 :(得分:2)

Array.prototype.flat() flat()方法创建一个新数组,其中所有子数组元素都以递归方式连接到该数组中,直到指定深度为止。

const arr = [ ['zone_1', 'zone_2'], ['zone_3'] ];
console.log(arr.flat());