JS排序對象數組


sort()方法是最強大的數組方法之一。

比較函數
比較函數的目的是定義另一種排序順序。
比較函數應該返回一個負,零或正值,這取決於參數:

function(a, b){return a-b}

sort()函數比較兩個值時,會將值發送到比較函數,並根據所返回的值(負、零或正值)對這些值進行排序。

排序對象數組
JavaScript 數組經常會包含對象

比較數值屬性

var cars = [
{type:"Volvo", year:2016},
{type:"Saab", year:2001},
{type:"BMW", year:2010}];

即使對象擁有不同數據類型的屬性,sort() 方法仍可用於對數組進行排序。
解決方法是通過比較函數來對比屬性值:

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

比較字符串屬性會稍復雜:

cars.sort(function(a, b){
	  var x = a.type.toLowerCase();
	  var y = b.type.toLowerCase();
	  if (x < y) {return -1;}
	  if (x > y) {return 1;}
	  return 0;
});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM