共计 449 个字符,预计需要花费 2 分钟才能阅读完成。
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]
正文完
发表至: javascript
2020-11-16