java sort排序去重,最近碰到的sort排序 以及 set和filter数组去重

一 sort排序

二 set和filter数组去重

一 sort排序

首先,有一个数组[{a:1,b:2},{a:2,b:1},{a:1,b:1}],我们需要按对其进行排序,排序规则是先比较a,在比较b,升序。(先以a的值进行升序,在a相等的情况下才比较b的大小,升序)

规定使用sort来排序

我们先看下sort的用法

bVU5Yi?w=837&h=610

注意sort是直接对原数组操作

下面我们来实现:

var array = [{a:1,b:2},{a:2,b:1},{a:1,b:1}]

array.sort((o,p)=>{

if(o.a

return -1

}else if(o.a==p.a){

if(o.b

return -1

}else if(o.b==p.b){

return 0

}else{

return 1

}

}else{

return 1

}

})

返回结果:

bVU5YJ?w=267&h=102

用sort排序还是很方便的

二 set和filter数组去重

set数组去重

主要利用ES6新增的 Set和Array.from方法或者或者 扩展运算符(...)

先来看下Set和Array.from方法

bVU6IL?w=642&h=347

bVU6G8?w=664&h=131

扩展运算符就不说了

上代码实践下

bVU6MK?w=368&h=102

用扩展运算符代码会简洁很多

filter数组去重

主要利用ES6 filter方法 和 indexOf方法(返回某个指定的字符串值在字符串中首次出现的位置)

先来看下filter方法

bVU6TB?w=672&h=909

注意哦,filter不会改变原数组

实践下:

bVU6Rf?w=388&h=139

以上便是数组去重的几种新方式,都蛮简洁的

未完待续

by 潘小闲

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值