// 已知如下数组
var arr = [
[1, 2, 3],
[4, 4, 5, 6, 6, 7],
[8, 8, 9, 10, [11, 12, 13, [14, 15, 16, [17, 17], [18]]], 18, 19, 20],
];
// 编写一个程序将数组扁平化去除其中重复部分数据, 最终得到一个升序且不重复的数组
仔细读题其实就会发现这个题一点都不难,哈哈。
分为3个步骤
1 首先数组扁平化 es6的.flat方法
2 去重 Array.from(new Set())
3 排序 sort
方法多得很,我使用的都是es6直接封装好的方法,代码量比较少。
下面附上代码
let arr = [[1,3,4],[3,4,4,5,5,6,6,7],[7,8,9,9,9,1,23, [11,23,23,[12,24, [15]]]],10,11];
console.log(arr);
bianpinghua(arr);
function bianpinghua(arr) {
/* 1 数组扁平化 */
let newArr = arr.flat(Infinity);
/* 2 数组去重 */
/* 3 数组排序 */
// console.log(newArr);
let quchongArr = Array.from(new Set(newArr)).sort(function(a, b) {return a - b});
console.log(quchongArr);
}