看啥推荐读物
专栏名称: JavaScript
面向JavaScript爱好人员提供:前端最新资讯、原创内容、JavaScript、HTML5、Ajax、jQuery、Node.js等一系列教程和经验分享。
目录
相关文章推荐
今天看啥  ›  专栏  ›  JavaScript

JS面试之数组的几个不low操作

JavaScript  · 公众号  · Javascript  · 2019-03-23 08:41
前言本文主要从应用来讲数组api的一些骚操作;如一行代码扁平化n维数组、数组去重、求数组最大值、数组求和、排序、对象和数组的转化等;上面这些应用场景你可以用一行代码实现?1.扁平化n维数组1.终极篇[1,[2,3]].flat(2) //[1,2,3][1,[2,3,[4,5]].flat(3) //[1,2,3,4,5][1,[2,3,[4,5]]].toString() //'1,2,3,4,5'[1[2,3,[4,5[...]].flat(Infinity) //[1,2,3,4...n]Array.flat(n)是ES10扁平数组的api,n表示维度,n值为Infinity时维度为无限大2.开始篇function flatten(arr) { while(arr.some(item=>Array.isArray(item))) { arr = [].concat(...arr); } return arr;}flatten([1,[2,3]]) //[1,2,3]flatten([1,[2,3,[4,5]]) //[1,2,3,4,5]实质是利用递归和数组合并方法concat实现扁平2.去重1.终极篇Array.from(new Set([1,2,3,3,4,4])) //[1,2,3,4][...new Set([1,2,3,3,4,4])] //[1,2,3,4]set是ES6 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照