JavaScript中數(shù)組Array.sort()排序方法詳解
JavaScript中數(shù)組的sort()方法主要用于對(duì)數(shù)組的元素進(jìn)行排序。其中,sort()方法有一個(gè)可選參數(shù)。但是,此參數(shù)必須是函數(shù)。 數(shù)組在調(diào)用sort()方法時(shí),如果沒有傳參將按字母順序(字符編碼順序)對(duì)數(shù)組中的元素進(jìn)行排序,如果想按照其他標(biāo)準(zhǔn)進(jìn)行排序,就需要進(jìn)行傳一個(gè)參數(shù)且為函數(shù),該函數(shù)要比較兩個(gè)值,并且會(huì)返回一個(gè)用于說明這兩個(gè)值的相對(duì)順序的數(shù)字。
1、對(duì)數(shù)字?jǐn)?shù)組進(jìn)行由小到大的順序進(jìn)行排序。
代碼:
var arr = [22,12,3,43,56,47,4];
arr.sort();
console.log(arr); // [12, 22, 3, 4, 43, 47, 56]
arr.sort(function (m, n) {
if (m < n) return -1
else if (m > n) return 1
else return 0
});
console.log(arr); // [3, 4, 12, 22, 43, 47, 56]
2、對(duì)字符串?dāng)?shù)組執(zhí)行不區(qū)分大小寫的字母表排序。
代碼:
var arr = ['abc', 'Def', 'BoC', 'FED'];
console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"]
console.log(arr.sort(function(s, t){
var a = s.toLowerCase();
var b = t.toLowerCase();
if (a < b) return -1;
if (a > b) return 1;
return 0;
})); // ["abc", "BoC", "Def", "FED"]
3、對(duì)包含對(duì)象的數(shù)組排序,要求根據(jù)對(duì)象中的年齡進(jìn)行由大到小的順序排列
代碼:
var arr = [{'name': '張三', age: 26},{'name': '李四', age: 12},{'name': '王五', age: 37},{'name': '趙六', age: 4}];
var objectArraySort = function (keyName) {
return function (objectN, objectM) {
var valueN = objectN[keyName]
var valueM = objectM[keyName]
if (valueN < valueM) return 1
else if (valueN > valueM) return -1
else return 0
}
}
arr.sort(objectArraySort('age'))
console.log(arr) // [{'name': '王五', age: 37},{'name': '張三', age: 26},{'name': '李四', age: 12},{'name': '趙六', age: 4}]
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
JS實(shí)現(xiàn)圖片高亮展示效果實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)圖片高亮展示效果的方法,實(shí)例分析了JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)操作頁面元素樣式的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
JS實(shí)現(xiàn)頁面數(shù)據(jù)懶加載
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)頁面數(shù)據(jù)懶加載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02
微信小程序?qū)崿F(xiàn)文字從右向左無限滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)文字從右向左無限滾動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
JavaScript代碼調(diào)試方法實(shí)例小結(jié)
這篇文章主要介紹了JavaScript代碼調(diào)試方法,結(jié)合實(shí)例形式總結(jié)分析了JavaScript錯(cuò)誤信息的處理與代碼調(diào)試相關(guān)操作技巧,需要的朋友可以參考下2019-01-01
JavaScript用構(gòu)造函數(shù)如何獲取變量的類型名
在JavaScript中,如何準(zhǔn)確獲取變量的類型名是一個(gè)經(jīng)常使用的問題。但是常常不能獲取到變量的精確名稱,或者必須使用jQuery 中的方法,這里通過 typeof ,jQuery.type 和 通過構(gòu)造函數(shù)來獲取變量類型這三種方法詳細(xì)介紹一遍。有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12
一文徹底搞懂JS數(shù)據(jù)類型之基本類型與引用類型的核心差異
在javascript中,引用數(shù)據(jù)類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)據(jù)和功能組織在一起,它也常被稱為類,這篇文章主要介紹了JS數(shù)據(jù)類型之基本類型與引用類型核心差異的相關(guān)資料,需要的朋友可以參考下2026-03-03
javascript監(jiān)聽鼠標(biāo)滾輪事件淺析
這篇文章主要介紹了javascript監(jiān)聽鼠標(biāo)滾輪事件淺析,使用具體例子說明,同時(shí)考慮了不同的瀏覽器,需要的朋友可以參考下2014-06-06
JavaScript中Array.from()的用法總結(jié)
本文主要介紹了JavaScript中Array.from()的用法總結(jié)2023-05-05

