let arr = [1,2,3,[4,5],[,6,7,[8,9]]]
// 扩展数组
Array.prototype.fet = function () { // 写在数组原型上可以直接调用
let result = this // this就是指调用的对象,所以不用箭头函数,不然this指向window
while (result.some(item => Array.isArray(item))) { // 判断数组中是否还有数组,有就继续结合
result = [].concat(result) // concat可以将两个数组结合,也可以结合数组结构出来的数值
}
return result
}
// 数组去重
Array.prototype.unique = function () {
return [...new Set(this)] // 数组去重使用es6新增特性 new Set
}
// 数组排序
sortFn = (a, b) => a - b
arr.fet().unique().sort(sortFn)