var arr = [
[3, , 1, 2, 2],
[8, 5, 3, 4, 5, 5],
[8, 9, 6, 7, [11, 12, 17, , [12, 13, [14]]]],
10,
];
/** 扁平化 :
Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数
组,对原数据没有影响。
*/
let flatArr = arr.flat(Infinity);
// Infinity关键字不管多少层都转成一层 或 4(一共四层)
// 注意:如果原数组有空位,flat()方法会跳过空位。
console.log(flatArr);
// [3, 1, 2, 2, 8, 5, 3, 4, 5, 5, 8, 9, 6, 7, 11, 12, 17, 12, 13, 14, 10]
// 去重:
let SetArr = Array.from(new Set(flatArr));
console.log(SetArr)
//[3, 1, 2, 8, 5, 4, 9, 6, 7, 11, 12, 17, 13, 14, 10]
// 排序
let res = SetArr.sort(function (a, b) {
return b - a;
});
console.log(res);
// [17, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
还没有评论,来说两句吧...