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

一 sort排序
二 set和filter数组去重git

一 sort排序

首先,有一个数组[{a:1,b:2},{a:2,b:1},{a:1,b:1}],咱们须要按对其进行排序,排序规则是先比较a,在比较b,升序。(先以a的值进行升序,在a相等的状况下才比较b的大小,升序)
规定使用sort来排序github

咱们先看下sort的用法数组

clipboard.png

注意sort是直接对原数组操做spa

下面咱们来实现:code

var array = [{a:1,b:2},{a:2,b:1},{a:1,b:1}]
array.sort((o,p)=>{
   if(o.a<p.a){
      return -1
   }else if(o.a==p.a){
       if(o.b<p.b){
          return -1 
       }else if(o.b==p.b){
          return 0
       }else{
          return 1
       }
   }else{
      return 1
   }
})

返回结果:blog

clipboard.png

用sort排序仍是很方便的排序

二 set和filter数组去重

set数组去重ip

主要利用ES6新增的 SetArray.from方法或者或者 扩展运算符(...)字符串

先来看下SetArray.from方法get

clipboard.png

clipboard.png

扩展运算符就不说了

上代码实践下

clipboard.png

用扩展运算符代码会简洁不少


filter数组去重

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

先来看下filter方法

clipboard.png

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

实践下:

clipboard.png

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


未完待续
by 潘小闲

同步github

相关文章
相关标签/搜索