如何按照指定屬性排序物件陣列

2021-10-06 16:57:11 字數 675 閱讀 5849

在工作場景中會出現對物件陣列按照某一物件屬性排序的情況,例如對於下面的物件陣列按照物件age從小到大排序。

let arr = [,,,,]

排序的核心演算法有很多,一些演算法詳情可見筆者的另一篇部落格經典十大演算法的js實現。下面的排序方法是選擇排序,排序函式**具體如下:

function objectsort (arr = , prop, order = true) 

}[temp[i], temp[pos]] = [temp[pos], temp[i]]

} return order ? temp : temp.reverse()

}

該方法預設根據物件的指定屬性從小到大排序物件陣列,通過傳入第三引數false,可以從大到小輸出資料。

以下是該方法的工作情況:

這個排序問題出現於筆者在處理乙個視覺化需求的時候,當時需要對柱狀圖資料按照銷售總金額進行乙個從大到小的排序,最終實現的demo效果如下(資料是隨便造的):

物件陣列按指定屬性排序

日常積累,歡迎指正 array.prototype.sort const arrtest desc 按 order 屬性公升序排序 arrtest.sort function a,b if a.order b.order if a.order b.order console.log arrtest ...

Java物件陣列按照其屬性排序的方法

開發時我們希望用乙個類表示某種物品,用其域來描述物品的特性,當我們有一組物品也就是乙個物件陣列時,我們會希望這組物品按照它的某個屬性來排序 也就是需要物件陣列按照其屬性排序 要排序就要有比較的方法,因為是自定義的類,系統不知道怎麼做兩個自定義類的比較,所以我們要自己在類內寫兩個類的比較的方法,也就是...

JS中物件陣列按照物件的某個屬性進行排序

js中的陣列中的物件排序很簡單,根據物件的屬性指定排序規則即可,如果出問題就仔細檢查一下中間資料 functon sortrule a,b 可以在原陣列排序函式的基礎上再套乙個函式來傳欄位引數,原排序函式作為這個函式的返回值返回 function sortby props arr1.sort sor...