function f (arr) {
// 去除 嵌套
if (Object.prototype.toString.call(arr) !='[object Array]') {//判断是否为数组
return;
}
var newarr = [];
function fn (arr) {
for (var i = 0; i < arr.length; i++) {
if (arr[i].length) {
fn(arr[i]);
}else{
newarr.push(arr[i]);
}
}
}
fn(arr);
return newarr;
}
Array.prototype.u = function () {
// 过滤重复数据
var newarr = [];
var obj = {};
for (var i = 0; i < this.length; i++) {
if (!obj[this[i]]) {
// 如果没有在obj中表示没有重复数据
newarr.push(this[i]);
obj[this[i]] = 'is key';
}
}
return newarr;
}
function compare (c1, c2) {
// 比较排序
return c2 - c1;
}
var arr = [1,[[4,4,6],6,[[[7,8,9]]],3]];
var a = [];
a = f(arr);
b = a.u();
// b = [...new Set(a)];
c = b.sort(compare);
console.log(a);
console.log(b);
console.log(c);