最近碰到的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

相關文章
相關標籤/搜索