js中 数组扁平化 方法

今天看到一道js题目如下:

 // 已知如下数组,编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组

 var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];

  

下面是解决方法:

1 /** 数组扁平化方法: **/
2  
3  // 1)
4  arr.toString().split(',')
5  
6  // 2)
7  arr.flat(Infinity)
8  // flat 是js的内置方法,会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
1 /** 数组去重 **/
2 
3 Array.from( new Set(arr) )
1 /** 排序 **/
2 
3 arr.sort( ( a,b )=> a-b )

Array.from(new Set(arr.flat(Infinity))).sort((a,b)=>a-b)

原文地址:https://www.cnblogs.com/summer0319/p/14048150.html