使用 JavaScript 依屬性名稱對物件陣列進行排序
在 JavaScript 中,可以依照特定屬性對物件陣列進行排序。當處理複雜的資料結構時,這個過程就變得必要了。
問題:
如何依屬性的升序對物件陣列進行排序(例如,「名稱」)?
答案:
要根據屬性名稱對物件陣列進行排序,可以定義自訂比較函數並將其傳遞給sort() 方法。以下是一個範例:
// Custom comparison function function SortByName(a, b){ var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0)); } // Sort the array array.sort(SortByName);
在此範例中,SortByName 函數比較陣列中每兩個物件(a 和 b)的「name」屬性的小寫版本。如果結果小於0,則將物件a放在物件b之前,如果大於0,則將b放在a之前,如果為0,則順序保持不變。
透過傳遞此函數進行排序(),陣列依照「name」屬性的升序排序。小寫比較確保不同大小寫的名稱得到同等對待。
以上是如何依屬性名稱對 JavaScript 物件陣列進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!