如何在javascript上展平数组?
我有代码如何在javascript上展平数组?,javascript,arrays,flatten,Javascript,Arrays,Flatten,我有代码[1,2,3,fn(),7,8] 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()进行展平调用fn时,将其放入正在创建的数组中: constfn=()=>[5,6]; 常量ar
[1,2,3,fn(),7,8]
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()
进行展平调用fn
时,将其放入正在创建的数组中:
constfn=()=>[5,6];
常量arr=[1,2,3,…fn(),7,8,[9,10]]
控制台日志(arr)代码>调用fn
时,将其插入正在创建的数组中:
constfn=()=>[5,6];
常量arr=[1,2,3,…fn(),7,8,[9,10]]
控制台日志(arr)代码>以数组的形式返回输入数组中每个元素的回调函数值,然后返回该数组。例如,可以进行回调以返回以下内容:
- 一对一:返回[值]
- 一对一:返回[]
- 一对多:返回[值,值-5,任意值]
在演示中,如果值是一个数组——它将按原样返回——否则它将在数组中返回。本质上,所有值都将作为数组从回调中返回,而数组又会变平。
constfn=()=>[5,6];
设数组=[1,2,3,4,fn(),7,8];
const result=array.flatMap(node=>array.isArray(node)?node:[node]);
控制台日志(结果)代码>以数组的形式返回输入数组中每个元素的回调函数值,然后返回该数组。例如,可以进行回调以返回以下内容:
- 一对一:返回[值]
- 一对一:返回[]
- 一对多:返回[值,值-5,任意值]
在演示中,如果值是一个数组——它将按原样返回——否则它将在数组中返回。本质上,所有值都将作为数组从回调中返回,而数组又会变平。
constfn=()=>[5,6];
设数组=[1,2,3,4,fn(),7,8];
const result=array.flatMap(node=>array.isArray(node)?node:[node]);
控制台日志(结果)代码>我只需要展平fn()
。如果第二个元素是[2]
我只需要对fn()
进行展平,则不需要将其展平。如果第二个元素是[2]