javascript - 在箭头函数中返回扩展数组
问题描述
假设我有这种类型的数组:
[ [1, 2], [3, 4] ]
我需要做的是在更高层获取嵌套元素,使其看起来像:
[1, 2, 3, 4]
我正在尝试以功能方式实现这一目标,因此代码如下所示:
const arr = [ [1, 2], [3, 4] ]
const f = Array.from(arr, x => ...x)
但这会带来Unexpected token ...
错误。那么正确的方法是什么?
解决方案
您可以使用flat
数组的方法:
const inp = [ [1, 2], [3, 4] ];
console.log(inp.flat());
在您的情况下,扩展语法不是您可以以这种方式使用的运算符,这就是错误的原因。
正如@MarkMeyer 在评论中正确指出的那样,flat
Edge 和 Internet Explorer 尚不支持。在这种情况下,您可以使用以下解决方案reduce
:
const inp = [[1,2], [3,4]];
console.log(inp.reduce((acc, val) => acc.concat(...val), []));
推荐阅读
- r - 如何获取R中同一行但不同列的元素的确切位置?
- python-3.x - 无法使用 Anaconda + Pytorch 安装 GDAL (2020)
- python - Add an Array to numpy sub array
- java - MacBook Air 上的 JDK 位置和 JavaFx 的 Jar 文件?
- go - 具有动态结构类型的 Go 函数
- javascript - 如何计算字符串中日文和拉丁文字符的数量?
- python - Python 谷歌云函数
- mariadb - 为什么 Linux 上的 MariaDB/InnoDB 读取 16KB 块中的 DB 文件?
- opencv - 如何使用 cv2.aruco.estimatePoseSingleMarkers 函数(python)估计 aruco 标记的姿势?
- token - 错误:返回错误:处理事务时出现 VM 异常:恢复 SafeERC20:低级调用失败