js sort 排序方法

2021-08-21 04:49:09 字數 704 閱讀 2744

// 如果我們想要給任何包含簡單值的陣列排序,必須要做更多的工作

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 轉型方...