對於類似的問題,SO上有很多答案,它們都描述瞭如何實現自定義排序函數來排序javascript對象數組。如何根據屬性排序javascript對象,指定屬性
但是,我想知道是否可以實現一個更抽象的自定義排序,這將允許我傳遞我想要排序的對象的屬性的名稱。這可能使我不得不一次又一次地實現非常相似的功能。
所以,如果我有喜歡的對象構造:
function Car(mph, cc) {
this.maxSpeed = mph;
this.engineSize = cc;
}
然後代替執行兩種類型的功能:
function sortCarsOnMaxSpeed(a, b) { return a.maxSpeed - b.maxSpeed; }
function sortCarsOnEngineSize(a, b) { return a.engineSize - b.engineSize; }
我可能有某種通用的功能,如:
function sortObjectsOnProperty(a, b, property) {
return a[property] - b[property];
}
但自定義排序似乎只有2個參數。
有關我如何做到這一點的任何建議?
非常感謝。
這很好,謝謝。 – Joe
功能createComparator(屬性){ 返回功能(A,B){ 如果(一個[屬性]> B [屬性])返回1 如果(一個[屬性]的 partizanos