首页 > 解决方案 > 在箭头函数中返回扩展数组

问题描述

假设我有这种类型的数组:

[ [1, 2], [3, 4] ]

我需要做的是在更高层获取嵌套元素,使其看起来像:

[1, 2, 3, 4]

我正在尝试以功能方式实现这一目标,因此代码如下所示:

const arr = [ [1, 2], [3, 4] ]
const f = Array.from(arr, x => ...x)

但这会带来Unexpected token ...错误。那么正确的方法是什么?

标签: javascriptecmascript-6

解决方案


您可以使用flat数组的方法:

const inp = [ [1, 2], [3, 4] ];

console.log(inp.flat());

在您的情况下,扩展语法不是您可以以这种方式使用的运算符,这就是错误的原因。

正如@MarkMeyer 在评论中正确指出的那样,flatEdge 和 Internet Explorer 尚不支持。在这种情况下,您可以使用以下解决方案reduce

const inp = [[1,2], [3,4]];
console.log(inp.reduce((acc, val) => acc.concat(...val), []));


推荐阅读