当前位置: 首页 > news >正文

外贸网站如何引流福州建设公司名单

外贸网站如何引流,福州建设公司名单,seo优化seo外包,idc托管实现方式1(递归) 普通的递归思路很容易理解,就是通过循环递归的方式,一项一项地去遍历,如果每一项还是一个数组,那么就继续往下遍历,利用递归程序的方法,来实现数组的每一项的连接: let arr […

实现方式1(递归)

普通的递归思路很容易理解,就是通过循环递归的方式,一项一项地去遍历,如果每一项还是一个数组,那么就继续往下遍历,利用递归程序的方法,来实现数组的每一项的连接:

let arr = [1,[2,3,[4]]];
function flatten(arr){let newArr = [];//这里得用of不能用in,用in遍历出来的item是数组下标,得注意for(let item of arr){console.log(item);//Array.isArray()是一个安全的函数if(Array.isArray(item)){//concat函数返回一个新数组newArr = newArr.concat(flatten(item));}else {newArr.push(item);}}return newArr;
}console.log(flatten(arr));

实现方式2(reduce)

let arr = [1,[2,3,[4]]];
function flatten(arr){return arr.reduce(function(pre,current){return pre.concat(Array.isArray(current) ? flatten(current) : current)},[])
}console.log(flatten(arr));

实现方式3(扩展运算符)

这个方法的实现,采用了扩展运算符和 some 的方法,两者共同使用,达到数组扁平化的目的,个人认为此方法是最酷的,能够给面试官一个惊喜

let arr = [1,[2,[3,4]]];
function flatten(arr){while(arr.some(item => Array.isArray(item))){console.log(arr);arr = [].concat(...arr)}return arr;
}console.log(flatten(arr));

实现方式4

可以通过 split 和 toString 两个方法来共同实现数组扁平化,由于数组会默认带一个 toString 的方法,所以可以把数组直接转换成逗号分隔的字符串,然后再用 split 方法把字符串重新转换为数组

let arr = [1, [2, [3, 4]]];
function flatten(arr) {return arr.toString().split(',');
}
console.log(flatten(arr)); //  [1, 2, 3, 4,5]

实现方式5(ES6新增函数flat)

我们还可以直接调用 ES6 中的 flat 方法来实现数组扁平化。flat 方法的语法:arr.flat([depth])

其中 depth 是 flat 的参数,depth 是可以传递数组的展开深度(默认不填、数值是 1),即展开一层数组。如果层数不确定,参数可以传进 Infinity,代表不论多少层都要展开:

let arr = [1, [2, [3, 4]]];
function flatten(arr) {return arr.flat(Infinity);
}
console.log(flatten(arr)); //  [1, 2, 3, 4,5]

实现方式6(正则表达式)

(6)正则和 JSON 方法 在第4种方法中已经使用 toString 方法,其中仍然采用了将 JSON.stringify 的方法先转换为字符串,然后通过正则表达式过滤掉字符串中的数组的方括号,最后再利用 JSON.parse 把它转换成数组:

let arr = [1, [2, [3, [4, 5]]], 6];
function flatten(arr) {let str = JSON.stringify(arr);console.log(str);//[1,[2,[3,[4,5]]],6],字符串str = str.replace(/(\[|\])/g, '');console.log(str);//1,2,3,4,5,6str = '[' + str + ']';console.log(str);//[1,2,3,4,5,6]return JSON.parse(str); 
}
console.log(flatten(arr)); //  [1, 2, 3, 4,5]

http://www.yayakq.cn/news/464654/

相关文章:

  • 没有网站可以做cpa吗西宁网站建设西宁
  • 哈尔滨阿城网站建设wordpress换行命令
  • 怎么做宣传网站建设网站平台费
  • 暗色系网站重庆建设工程造价管理协会
  • 做养生哪个网站有客人武昌做网站报价
  • 教育网站制作论文学生建设网站
  • 小网站广告投放网站怎么做用户体验
  • 做旅游网站的数据怎么来灰色调网站
  • 免费微网站建设襄阳谷城网站建设
  • 买东西的网站香奈儿网站建设策划书
  • 天津制作企业网站报价深圳公司招聘
  • 建设网站是什么关系桂阳局网站建设方案
  • 网站建设 品牌塑造计划中石油第七建设公司官网
  • 大连做网站优化价格网站域名301设置
  • 中国建设银行网站首页初次安装宽带要多少钱
  • 深圳住房和建设管理局官方网站跨境电商被骗血本无归
  • 网站属于什么公司中建三局
  • 盖州网站优化西宁网站建设官网
  • 成都建设网站分享上海专业的网站建设
  • 成都企业网站建设公司怎样套用wordpress模板
  • 几百块钱可以做网站吗深圳龙岗区坂田街道
  • 响应式模板网站模板WordPress rpc 通知
  • 网站建设与管理规范玉泉路网站制作
  • 网站开发的主要内容网络推广优化网站
  • 可以做试卷并批改的网站建筑工程人才招聘网
  • 看网站的浏览器多媒体艺术设计
  • 网站运营可以转行做网站设计吗网站建设费如何入账怎么摊销
  • 什么是优化型网站获取网站目录下所有文件
  • 山东建设人才网站wordpress默认邮件文件
  • 漳州建设企业网站网站的管理