目錄 sort 用法 語法 參數(shù)值 兼容性 舉例 排序數(shù)組 按升序排序 按降序排序 if 條件語句 + sort() localeCompare() + sort() Collator() + sort() 里給出三種解決方案: 1. if條件語句 + sort() 2. localeCompa
參數(shù)
描述
compareFunction
可選。定義替代排序順序的函數(shù)。該函數(shù)應返回負值、零值或正值,具體取決于參數(shù),例如:
function(a, b){ return a - b }
sort() 方法比較兩個值時,將值發(fā)送給比較函數(shù),根據(jù)返的(負、零、正)值對值進行排序。
舉例:
比較 40 和 100 時,sort() 方法調(diào)用比較函數(shù)(40,100)。
該函數(shù)計算 40-100,并返回 -60(負值)。
sort 函數(shù)會將 40 排序為小于 100 的值。
目錄
- sort 用法
- 語法
- 參數(shù)值
- 兼容性
- 舉例
- 排序數(shù)組
- 按升序排序
- 按降序排序
- if 條件語句 + sort()
- localeCompare() + sort()
- Collator() + sort()
里給出三種解決方案:
1.if條件語句 + sort()
?2.localeCompare() + sort()
?3.Collator() + sort()
sort 用法
語法
array.sort(compareFunction)
參數(shù)值
function(a, b){ return a - b }
sort() 方法比較兩個值時,將值發(fā)送給比較函數(shù),根據(jù)返的(負、零、正)值對值進行排序。
舉例:
比較 40 和 100 時,sort() 方法調(diào)用比較函數(shù)(40,100)。
該函數(shù)計算 40-100,并返回 -60(負值)。
sort 函數(shù)會將 40 排序為小于 100 的值。
sort() 方法會改變原始數(shù)組。
兼容性
Chrome、IE、Edge、Firefox、Safari、Opera 等 都支持 sort() 方法。
舉例
排序數(shù)組
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var tzy = fruits.sort(); console.log(tzy);
輸出如下:
按升序排序
var points = [66, 100, 3, 10, 250, 88, 77]; var tzy = points.sort((a, b)=> a - b); console.log(tzy);
輸出如下:
按降序排序
var points = [66, 100, 3, 10, 250, 88, 77]; var tzy = points.sort((a, b)=> b - a); console.log(tzy);
輸出如下:
if 條件語句 + sort()
var list = [ { FirsName: "Aaron", LastName: "Baker" }, { FirstName: "Bert", LastName: "Green" }, { FirstName: "Larry", LastName: "White" }, { FirstName: "Victor", LastName: "Fox" }, ] function sortArray(x, y) { if (x.LastName < y.LastName) { return -1; } if (x.LastName > y.LastName) { return 1; } return 0; } var tzy = list.sort(sortArray); console.log(tzy);
輸出如下:
localeCompare() + sort()
var list = [ { FirsName: "Aaron", LastName: "Baker" }, { FirstName: "Bert", LastName: "Green" }, { FirstName: "Larry", LastName: "White" }, { FirstName: "Victor", LastName: "Fox" }, ] function sortArray(x, y) { return x.LastName.localeCompare(y.LastName) } var tzy = list.sort(sortArray); console.log(tzy);
輸出如下:
如果對象目標 key 中存在標點符號,在這種情況下,我們可以使用localeCompare()
函數(shù)并將其設置為在比較期間忽略標點符號。
var list = [ { FirsName: "Aaron", LastName: ",Baker" }, { FirstName: "Bert", LastName: "Green" }, { FirstName: "Larry", LastName: ",White" }, { FirstName: "Victor", LastName: "Fox" }, ] function SortArray(x, y){ return x.LastName.localeCompare(y.LastName, 'fr', {ignorePunctuation: true}); } var tzy = list.sort(sortArray); console.log(tzy);
輸出如下:
你還可以通過將 localeCompare() 函數(shù)的靈敏度設置為 base 來忽略字符串中存在的特殊字符,如下所示。
x.LastName.localeCompare(y.LastName, 'en', { sensitivity: 'base' });
點擊?傳送門?查看有關(guān)?localeCompare()
?函數(shù)的更多詳細信息。
Collator() + sort()
var list = [ { FirsName: "Aaron", LastName: "Baker" }, { FirstName: "Bert", LastName: "Green" }, { FirstName: "Larry", LastName: "White" }, { FirstName: "Victor", LastName: "Fox" }, ] function SortArray(x, y){ return collator.compare(x.LastName, y.LastName); } var tzy = list.sort(sortArray); console.log(tzy);
輸出如下:
到此這篇關(guān)于JavaScript將對象數(shù)組按字母順序排序的方法詳解的文章就介紹到這了,更多相關(guān)JavaScript 對象數(shù)組排序內(nèi)容請搜索技圈網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持技圈網(wǎng)!
聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。