我有我需要排序的自定義函數對象的數組,因爲我想這樣做幾次在幾個對象的屬性,我想爲屬性dinamically傳遞鍵名到自定義排序功能:JS排序()自定義函數我怎樣才能更多參數傳遞?
function compareOnOneFixedKey(a, b) {
a = parseInt(a.oneFixedKey)
b = parseInt(b.oneFixedKey)
if (a < b) return -1
if (a > b) return 1
return 0
}
arrayOfObjects.sort(compareByThisKey)
應該成爲這樣的:
function compareOnKey(key, a, b) {
a = parseInt(a[key])
b = parseInt(b[key])
if (a < b) return -1
if (a > b) return 1
return 0
}
arrayOfObjects.sort(compareOn('myKey'))
可以這樣方便的方式來完成?謝謝。
+1的方法,我完全沒有考慮到。 –
除了這個方法還不錯,它仍然存在兼容性問題。 – VisioN
@VisioN:......但是讓這麼多的東西更容易:-)對於任何人考慮支持舊的IE,鏈接MDN頁面包含一個墊片 – Bergi