多维数组去重排序的简单方法

32 篇文章 0 订阅
3 篇文章 0 订阅

多维数组指的就是一个数组中包含多个数组

例:

let arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]

 1.解析多维数组

// 解析多维数组
// 数组flat()方法可以把多维数组解析出来(参数为解析的层数)
let flatArr = arr.flat(4)
// 结果为 [1,2,2,3,4,5,5,6,7,8,9,11,12,12,13,14,10]

2.数组去重

// 数组去重(方法太多这里使用的是Set结构进行去重)
// 使用拓展运算符...的方式把解析数组后的每一项放入Set结构中进行去重
let setArr = new Set(...flatArr)
// 结果 [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 10]

 3.排序数组

// 排序
// 因为Set结构不属于数组的一种, 所以Set结构没有Sort方法所以我们需要将Set结构转换为数组
// 使用sort()方法进行排序
// sort 方法默认的排序方式为使用字符的unicode码进行排序 因此我们需要对sort方法传入一个排序的方法
let sortArr = [...setArr].sort((a,b) => a - b)
// 结果 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

4.简化处理

// 在JS中是存在链式调用的,所以我们在最后这里可以对上面执行的方法进行简化处理一下
// 链式调用的必要条件为它需要上个执行的方法返回它本身
let arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
let newArr =[...new Set(arr.flat(4))].sort((a,b) => a-b)
// 结果 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值