// 如果我們想要給任何包含簡單值的陣列排序,必須要做更多的工作
var m = ['aa','bb','a',4,8,15,16,23,42];
m.sort(function(a,b)
if(typeof a === typeof b)
return typeof a < typeof b ? -1 : 1;
})/**
* 如果有乙個更智慧型的比較函式,我們可以使物件陣列排序。
** by函式接受乙個成員名稱字串作為引數
* 並返回乙個可以用來包含該成員的物件陣列進行排序的比較函式
*/var by = function(name)
if (typeof a === typeof b)
return typeof a < typeof b ? -1 : 1;
} else;}}
}var s = [,,
,,,]
// 如果你想基於多個鍵值進行排序,你需要再次做更多的工作
var by = function (name , minor)
if(typeof a === typeof b)
return typeof a < typeof b ? -1 : 1;
} else}}
}s.sort(by('last',by('first')));
詳解js sort 排序
sort 排序在實際專案中是經常用到的。剛專案中遇到比較複雜資料的排序,寫點東西,記一下心得。1.sort 預設是按照 unicode 碼順序公升序排列,會修改原陣列,也會返回乙個新陣列。2.可以在 sort 方法裡傳入比較器函式自定義比較規則。3,2,1 sort a,b examples 1.純...
JS sort 方法實現物件陣列的排序
sort 方法會改變原陣列,預設按unicode碼順序排列 我們通常遇到的都是陣列排序,對於物件陣列當然也是可以的,方法如下 可以選擇它的某一屬性進行比較 var arr function compare p arr.sort compare age console.log arr 結果如下 不使用...
js sort函式遇到的坑
最近做專案用sort 對陣列排序,發現排完後的順序不對,搜了很多帖子,才明白了。var values 0,1,5,10,15 values.sort alert values 0,1,10,15,5 顯然不是你想要的 為啥5在最後面呢?sort函式在比較時 會呼叫每個陣列項的tostring 轉型方...