一 sort排序
二 set和filter数组去重
一 sort排序
首先,有一个数组[{a:1,b:2},{a:2,b:1},{a:1,b:1}],我们需要按对其进行排序,排序规则是先比较a,在比较b,升序。(先以a的值进行升序,在a相等的情况下才比较b的大小,升序)
规定使用sort来排序
我们先看下sort的用法
注意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
}
})
返回结果:
用sort排序还是很方便的
二 set和filter数组去重
set数组去重
主要利用ES6新增的 Set和Array.from方法或者或者 扩展运算符(...)
先来看下Set和Array.from方法
扩展运算符就不说了
上代码实践下
用扩展运算符代码会简洁很多
filter数组去重
主要利用ES6 filter方法 和 indexOf方法(返回某个指定的字符串值在字符串中首次出现的位置)
先来看下filter方法
注意哦,filter不会改变原数组
实践下:
以上便是数组去重的几种新方式,都蛮简洁的
未完待续
by 潘小闲