根據陣列中物件進行排序

Gckkoo發表於2018-01-22

根據陣列內物件排序

根據陣列中物件裡面的時間進行排序,今天第一次用到,覺得這麼做挺方便的

首先寫一個陣列

    var arrr =[
        {id: 4, number: "00004", name: "光頭強", date: "2017-02-19"},
        {id: 3, number: "00003", name: "熊二", date: "2017-10-19"},
        {id: 2, number: "00002", name: "熊大", date: "2017-03-19"},
        {id: 1, number: "00001", name: "郭澤民", date: "2017-02-19"}
    ];

定義一個函式來執行

 var contrast= function (obj1, obj2) {
     var val1 = obj1.date;
     var val2 = obj2.date;
     if (val1 > val2) {
         return -1;
     } else if (val1 < val2) {
         return 1;
     } else {
         return 0;
     }
 }

根據值不同,返回值也不相同,本次是升序排列的,如果想要降序排列,將-11交換一下就OK了

 console.log(arrr.sort(contrast));

返回數值就是根據日期所排列的。

相關文章