前端进阶|第七天 携程笔试题,嵌套数组去层级去重并排序

简介: 前端进阶 每天一个知识点
已知如下数组:
var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组

我们可以把处理过程分步骤进行。
1 首先是去扁平化,即去掉数组的嵌套关系,此时可以利用数组的一个函数flat,即
arr.flat(Infinity)
关于这个函数的写法,MDN上是这么表示他的语法结构的,flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。注意:默认深度是1
var newArray = arr.flat([depth])
2.去重可以利用set的不可重复的特性,将数组与set进行一次互相转化。即
new Set(arr.flat(Infinity))
3.将去重之后的set再转换为arr
Array.from(new Set(arr.flat(Infinity)))
3.排序直接使用sort()函数,注意sort默认是把数组成员作为字符串处理的,所以我们要重新定义一下排序规则。
Array.from(new Set(arr.flat(Infinity))).sort((a,b)=>{return a-b})
看一下结果
100

目录
相关文章
|
3月前
|
前端开发 Java
java前端:删除数组中指定元素的方法
java前端:删除数组中指定元素的方法
|
4月前
|
JSON JavaScript 前端开发
前端 ex2json 用于 vue/react/js 将 xls、xlsx、csv 文件转成 json 数组
前端 ex2json 用于 vue/react/js 将 xls、xlsx、csv 文件转成 json 数组
93 0
|
4月前
|
前端开发 JavaScript
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
49 0
|
4月前
|
算法 前端开发 程序员
前端算法专栏-数组-75.颜色分类
前端算法专栏-数组-75.颜色分类
前端算法专栏-数组-75.颜色分类
|
26天前
|
前端开发 JavaScript
前端Webpack5高级进阶课程
本套视频教程主要内容包含React/Vue最新版本脚手架分析、基于Webpack5编写自己的loader和plugin等,让你开发时选择更多样,最后,用不到一百行的代码实现Webpack打包。通过本套视频教程的学习,可以帮你彻底打通Webpack的任督二脉,技术水平更上一层楼,在开发项目的道路上畅通无阻
13 3
前端Webpack5高级进阶课程
|
1月前
|
前端开发 小程序
前端get请求参数包含数组的情况
前端get请求参数包含数组的情况
29 0
|
2月前
|
Web App开发 前端开发 容器
前端秘法进阶----css中那些不能说的秘密
前端秘法进阶----css中那些不能说的秘密
|
3月前
|
前端开发 小程序 JavaScript
2022前端面试笔试题及答案
2022前端面试笔试题及答案
|
4月前
|
前端开发 API
[前端学习]ES6进阶学习
[前端学习]ES6进阶学习
28 1
|
4月前
|
canal 算法 前端开发
前端算法专栏-数组-125. 验证回文串
前端算法专栏-数组-125. 验证回文串
166 0