[英]How to flattening array at javascript?
我有代码[ 1, 2, 3, fn(), 7, 8 ]
fn
接下来fn
是:
fn(){ return [ 5, 6 ] }
将哪个运算符应用于fn()
调用以获取:
[ 1, 2, 3, 5, 6, 7, 8 ]
代替:
[ 1, 2, 3, [ 5, 6 ], 7, 8 ]
当然可以:
[ 1, 2, 3, fn(), 7, 8 ].flat()
但是在这种情况下,其他元素也将被展平。 我只需要为fn()
flatMap()
以数组形式返回输入数组每个元素的回调函数的值,然后将其展平。 例如,可以使回调返回以下内容:
在演示中,如果值是数组-它将按原样返回-否则它将在数组内返回。 本质上,所有值都将从回调作为数组返回,而数组又将被展平。
const fn = () => [5, 6]; let array = [1, 2, 3, 4, fn(), 7, 8]; const result = array.flatMap(node => Array.isArray(node) ? node : [node]); console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.