1、数组扁平化并去重
已知如下数组,编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组。
let arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]
结果:
console.log([...new Set(arr.flat(Infinity))].sort((a, b) => {
return a - b
})); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
复制代码
解析:
let arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]
// 1. 数组扁平化处理
let arr1 = arr.flat(Infinity)
console.log(arr1); // [1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]
// 2. 数组去重
let arr2 = [...new Set(arr1)]
console.log(arr2); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 10]
// 3.数组排序
let arr3 = arr2.sort((a, b) => {
return a - b
})
console.log(arr3); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
复制代码