var arr = [
[1, 2, 2],
[3, 4, 6, 7, 8, ],
[6, 5, 5, 9, [11, 12, [12, 13, [14]]]], 10
];
function machining(arr) {
let newArr = []
let newArr_1 = [];
//扁平化
function toFlat(arr) {
arr.forEach(a => typeof a == 'object' ? toFlat(a) : newArr.push(a));
}
toFlat(arr)
//去重
newArr = newArr.filter((n, i) => newArr.indexOf(n) == i);
//从小到大
newArr.forEach(n => !newArr_1.some((n1, i) => n1 > n && newArr_1.splice(i, 0, n)) && newArr_1.push(n))
//newArr_1 = newArr.sort((a, b) => a - b) 或直接用方法
return newArr_1
}
console.log(machining(arr))