JS数组扁平化(flat)方法总结详解
需求:多维数组=>一维数组
letary=[1,[2,[3,[4,5]]],6]; letstr=JSON.stringify(ary);
第0种处理:直接的调用
arr_flat=arr.flat(Infinity);
第一种处理
ary=str.replace(/(\[\]))/g,'').split(',');
第二种处理
str=str.replace(/(\[\]))/g,''); str='['+str+']'; ary=JSON.parse(str);
第三种处理:递归处理
letresult=[]; letfn=function(ary){ for(leti=0;i第四种处理:用reduce实现数组的flat方法
functionflatten(ary){ returnary.reduce((pre,cur)=>{ returnpre.concat(Array.isArray(cur)?flatten(cur):cur); }) } letary=[1,2,[3,4],[5,[6,7]]] console.log(ary.MyFlat(Infinity))第五种处理:扩展运算符
while(ary.some(Array.isArray)){ ary=[].concat(...ary); }这是一个比较实用而且很容易被问到的问题,欢迎大家交流补充。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。