ES6
// 扁平化
array.flat(Infinity);
// 去重
Array.from(new Set());
// 升序
array.sort((a, b) => a - b);
ES5
// 扁平化
function flat(items){
var result = [];
items.map(function(item){
if(Array.isArray(item)){
result = result.concat(loop(item));
}
else{
result.push(item);
}
});
return result;
}
// 去重
function unique(arr){
var result = [], temp = {};
arr.map(function(item){
if(!temp[item]){
result.push(item);
temp[item] = true;
}
})
return result;
}
// 排序 (快排,冒泡等)
array.sort(function(a, b){
return a - b;
});
测试数据
// 数据
var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
// ES6
Array.from(new Set(arr.flat()).sort((a,b) => a - b));
// ES5
unique(flat(arr)).sort(function(a, b) {return a - b})