首頁  >  文章  >  web前端  >  JavaScript如何對陣列以及物件進行排序的實例

JavaScript如何對陣列以及物件進行排序的實例

黄舟
黄舟原創
2017-07-18 10:04:511459瀏覽

這篇文章主要介紹了javascript  數組排序與物件排序的實例的相關資料,需要的朋友可以參考下

javascript  數組排序與物件排序的實例

#陣列排序

在使用JavaScript的時候,我們都發現了sort這個函數其實是按照字典順序進行排序的,例如下面的這個例子:


var ary = [2, 98, 34, 45, 78, 7, 10, 100, 99];
ary.sort();
console.log(ary);

控制台輸出結果:


Array [ 10, 100, 2, 34, 45, 7, 78, 98, 99 ]

這個也很顯然驗證了我之前所寫的東西,上面的結果就是比較數組元素的第一位,然後按照這個1-9這個順序排列,那麼我們就需要給sort函數傳入一個比較函數(在這裡我還是得提及C語言的函數指針,簡單說就是給一個函數傳入另一個函數,而這個傳入的就像是你給出你自己的一套規則,而計算機按你這個規則執行就好了),現在也是這個道理,給出一個規則來,那就請看下面的程式碼:


var ary = [2, 98, 34, 45, 78, 7, 10, 100, 99];
ary.sort((a, b) => {
 return a-b;
});
console.log(ary);

降序輸出:


ary.sort(function(a, b) {
 return b-a;
});
console.log(ary);

傳入的函數是採用ES6的寫法,等同於:


ary.sort(function(a, b) {
 return a-b;
});

輸出結果:


#
Array [ 2, 7, 10, 34, 45, 78, 98, 99, 100 ]

Array [ 100, 99, 98, 78, 45, 34, 10, 7, 2 ]

##物件排序




################################ ##今天要說的排序對象,像下面那樣,將多個對象放置在一個數組裡面#############
var objArray = [
 {name : 'lily', age : 22},
 {name : 'kandy', age : 20},
 {name : 'lindy', age : 24},
 {name : 'Jone', age : 27}
];
###下面就需要對它們進行排序了:### #########
function sortObj(array, key) {
 return array.sort(function(a, b) {
  var x = a[key];
  var y = b[key];
  return x - y;
  //或者 return x > y ? 1 : (x < y ? -1 : 0);
 });
}
###控制台輸出結果: ################

以上是JavaScript如何對陣列以及物件進行排序的實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn