JavaScript中數(shù)組Array.sort()排序方法詳解
JavaScript中數(shù)組的sort()方法主要用于對數(shù)組的元素進行排序。其中,sort()方法有一個可選參數(shù)。但是,此參數(shù)必須是函數(shù)。 數(shù)組在調(diào)用sort()方法時,如果沒有傳參將按字母順序(字符編碼順序)對數(shù)組中的元素進行排序,如果想按照其他標準進行排序,就需要進行傳一個參數(shù)且為函數(shù),該函數(shù)要比較兩個值,并且會返回一個用于說明這兩個值的相對順序的數(shù)字。
1、對數(shù)字數(shù)組進行由小到大的順序進行排序。
代碼:
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、對字符串數(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、對包含對象的數(shù)組排序,要求根據(jù)對象中的年齡進行由大到小的順序排列
代碼:
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)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
JavaScript用構造函數(shù)如何獲取變量的類型名
在JavaScript中,如何準確獲取變量的類型名是一個經(jīng)常使用的問題。但是常常不能獲取到變量的精確名稱,或者必須使用jQuery 中的方法,這里通過 typeof ,jQuery.type 和 通過構造函數(shù)來獲取變量類型這三種方法詳細介紹一遍。有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12
一文徹底搞懂JS數(shù)據(jù)類型之基本類型與引用類型的核心差異
在javascript中,引用數(shù)據(jù)類型是一種數(shù)據(jù)結構,用于將數(shù)據(jù)和功能組織在一起,它也常被稱為類,這篇文章主要介紹了JS數(shù)據(jù)類型之基本類型與引用類型核心差異的相關資料,需要的朋友可以參考下2026-03-03

