从品牌网站建设到网络营销策划,从策略到执行的一站式服务
需求:多维数组=>一维数组
创新互联建站是一家专业提供江都企业网站建设,专注与网站制作、成都网站建设、H5页面制作、小程序制作等业务。10年已为江都众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
let ary = [1, [2, [3, [4, 5]]], 6]; let str = JSON.stringify(ary);
第0种处理:直接的调用
arr_flat = arr.flat(Infinity);
第一种处理
ary = str.replace(/(\[\]))/g, '').split(',');
第二种处理
str = str.replace(/(\[\]))/g, ''); str = '[' + str + ']'; ary = JSON.parse(str);
第三种处理:递归处理
let result = []; let fn = function(ary) { for(let i = 0; i < ary.length; i++) }{ let item = ary[i]; if (Array.isArray(ary[i])){ fn(item); } else { result.push(item); } } }
第四种处理:用 reduce 实现数组的 flat 方法
function flatten(ary) { return ary.reduce((pre, cur) => { return pre.concat(Array.isArray(cur) ? flatten(cur) : cur); }) } let ary = [1, 2, [3, 4], [5, [6, 7]]] console.log(ary.MyFlat(Infinity))
第五种处理:扩展运算符
while (ary.some(Array.isArray)) { ary = [].concat(...ary); }
这是一个比较实用而且很容易被问到的问题,欢迎大家交流补充。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图