色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 對象排序

錢斌斌1年前7瀏覽0評論

JavaScript中的對象是一種復合數據類型,可以把它們看作是一組鍵值對的集合。對于這些鍵值對的排序,通常需要使用JavaScript對象的排序方法。

下面舉個例子,我們有一個對象組成的數組,每個對象包含三個鍵值對:名字,年齡和工資。

let people = [
{name: "Amy", age: 24, salary: 3000},
{name: "Bob", age: 35, salary: 5000},
{name: "Chris", age: 30, salary: 4000}
]

我們需要按照年齡從小到大的順序對這個數組進行排序。

people.sort(function(a, b){
return a.age - b.age;
});

在這個例子中,我們用sort()方法來對數組進行排序,參數是一個匿名函數。這個函數接受兩個參數 - a和b,表示被比較的兩個對象,按照我們設定的規則對它們進行排序。在這個例子中,我們通過返回a.age - b.age來確定排序順序。

我們也可以按照工資從高到低的順序對數組進行排序。

people.sort(function(a, b){
return b.salary - a.salary;
});

在這個例子中,我們只需要更改比較函數,把a.salary和b.salary相減后再返回就可以了。

如果要按照多種屬性進行排序,可以通過鏈式調用sort()方法來實現。

people.sort(function(a, b){
if (a.salary< b.salary) {
return 1;
} else if (a.salary >b.salary) {
return -1;
} else {
if (a.age< b.age) {
return -1;
} else if (a.age >b.age) {
return 1;
} else {
if (a.name< b.name) {
return -1;
} else if (a.name >b.name) {
return 1;
} else {
return 0;
}
}
}
});

這個例子中,我們先用工資進行排序,如果兩個對象的工資相等,再用年齡進行排序,如果年齡也相等,則用名字進行排序。

在這個例子中,用到了多個if-else語句來實現多重排序。

總結一下,JavaScript的sort()方法是非常強大和靈活的,可以用來對復合數據類型進行排序。我們可以自定義排序規則,對多個屬性進行排序,從而滿足不同的需求。但是需要注意的是,sort()方法會直接修改原數組,所以要謹慎使用。