# 数组扁平化、去重、升序

已知如下数组:

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

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

将数组扁平化并去除其中重复数据,最终得到一个升序且不重复的数组

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

// 扁平化
let level_arr = old_arr.flat(4);

//数组去重
let Distinct = Array.from(new Set(level_arr));

// 排序
let sort = Distinct.sort((a, b) => a - b)

// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

当然, 最终还是归于基础

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

// 扁平化
function flat(arr){
    while (arr.some(Array.isArray)) {
        arr = [].concat(...arr);
    }
    return arr;
}

// 去重
function unique(arr) {
    return arr.filter((item, index) => arr.indexOf(item) === index);
}

// 排序
function sort(arr){
    return arr.sort((a, b) => a - b)
}
``