欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript將對象數(shù)組按字母順序排序的方法詳解

 更新時間:2023年07月10日 09:27:16   作者:唐志遠  
這篇文章主要介紹了JavaScript如何將對象數(shù)組按字母順序排序,本文介紹了三種解決方案,if條件語句 + sort(),localeCompare() + sort(),Collator() + sort(),有感興趣的同學可以跟著小編一起來看看

里給出三種解決方案:

1.if條件語句 + sort() 2.localeCompare() + sort() 3.Collator() + sort()

sort 用法

語法

array.sort(compareFunction)

參數(shù)值

參數(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ù)組。

兼容性

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' });

點擊 傳送門 查看有關 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);

輸出如下:

到此這篇關于JavaScript將對象數(shù)組按字母順序排序的方法詳解的文章就介紹到這了,更多相關JavaScript 對象數(shù)組排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論