乐趣区

关于javascript:js数组扁平化去重排序

const arr = [1, 2, 4, [3, 34, 52, 9, [0, 1, 92]], [19, 22, 3]]
// 拍平
function flat(arr) {

const isDeep = arr.some(item => item instanceof Array)
if (!isDeep) {return arr}
const res = Array.prototype.concat.apply([], arr)
return flat(res)

}
// 去重
function unique(arr) {

const res = new Set(arr)
return [...res]

}
// 排序
function sort(arr) {

const compare = (a, b) => {if (a < b) return -1
    if (a > b) return 1
    if (a === b) return 0
}
return arr.sort(compare)

}
const res = sort(unique(flat(arr)))
console.log(res) // [0, 1, 2, 3, 4, 9, 19, 22, 34, 52, 92]

退出移动版