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

// 多维数组转一维数组,并去重, 排序
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)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值