本文主要介绍JS数组展平(flat)方法的总结和详细说明,通过示例代码详细介绍。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。
需求:多维数组=一维数组
设ary=[1,[2,[3,[4,5]],6];
设str=JSON . stringify(ary);
第0种处理:直接的调用
arr_flat=arr.flat(无穷大);
第一种处理
ary=str . replace(/(\[\])/g,' ')。拆分(',');
第二种处理
str=str . replace(/(\[\])/g,' ');
str='[' str ']';
ary=JSON . parse(str);
第三种处理:递归处理
假设结果=[];
设fn=函数(ary) {
for(设I=0;I .可变长度;i ) }{
let item=ary[I];
if(array . is array(ary[I]){
fn(项目);
}否则{
result.push(项);
}
}
}
第四种处理:用 reduce 实现数组的 flat 方法
函数扁平化(ary) {
return ary.reduce((pre,cur)={
return pre . concat(array . isarray(cur)?扁平化(卷曲) :卷曲);
})
}
设ary=[1,2,[3,4],[5,[6,7]]]
console.log(ary。MyFlat(无穷大))
第五种处理:扩展运算符
while(ary . some(array . isarray)){
ary=[]。串联(.ary);
}
这是一个很实际也很容易问的问题。欢迎交流补充。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。