多维数组转一维数组,并去重, 排序

// 多维数组转一维数组,并去重, 排序
let arr = [1, 12, 3, [6, 5, 4], [8, 9, [7, 10, [11, 2]]], 1, 3, 5, 4]

console.log(arr)

// ES6中提供了array.flat()方法
// 可以将多维数组转为一维数组
// ()内默认值为1, 表示只转化一层
// Infinity 此时不管有多少层嵌套,都可以转成一维数组
let flatArr = arr.flat()
console.log(flatArr)

// 转化为一维数组
let flatArr2 = arr.flat(Infinity)
console.log(flatArr2)

// 一维数组去重
let resArr = flatArr2.filter((item, index) => {
    // if(!flatArr2.includes(item))
    return flatArr2.indexOf(item) == index
})
console.log(resArr)

// sort() 方法以字母顺序对数组进行排序
// sort() 方法在对数值排序时会产生不正确的结果
// reverse() 方法反转数组中的元素。
// 升序
resArr.sort(function(a, b){
    return a-b
})
console.log(resArr)

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页