以升序對關聯陣列進行排序 - JavaScript


假設我們有一個這樣的物件陣列 −

const people = [
   {"id":1, "name":"Andrew", "age":30, "gender":"m", "category":"G"},
   {"id":2, "name":"Brandon", "age":25, "gender":"m", "category":"G"},
   {"id":3, "name":"Christine", "age":20, "gender":"m", "category":"G"},
   {"id":4, "name":"Elena", "age":29, "gender":"W", "category":"M"}  
];

我們需要編寫一個 JavaScript 函式,該函式接收這樣的陣列,並根據每個物件中 age 屬性的升序對陣列就地進行排序。

因此,輸出應如下所示 −

const output = [
   {"id":3, "name":"Christine", "age":20, "gender":"m", "category":"G"},
   {"id":2, "name":"Brandon", "age":25, "gender":"m", "category":"G"},
   {"id":4, "name":"Elena", "age":29, "gender":"W", "category":"M"},
   {"id":1, "name":"Andrew", "age":30, "gender":"m", "category":"G"}
];

範例

以下是完整程式碼 −

const people = [
   {"id":1, "name":"Andrew", "age":30, "gender":"m", "category":"G"},
   {"id":2, "name":"Brandon", "age":25, "gender":"m", "category":"G"},
   {"id":3, "name":"Christine", "age":20, "gender":"m", "category":"G"},
   {"id":4, "name":"Elena", "age":29, "gender":"W", "category":"M"}
];
const sorter = (a, b) => {
   return a.age - b.age;
};
const sortByAge = arr => {
   arr.sort(sorter);
};
sortByAge(people);
console.log(people);

輸出

這將在控制檯輸出以下內容 −

[
   { id: 3, name: 'Christine', age: 20, gender: 'm', category: 'G' },
   { id: 2, name: 'Brandon', age: 25, gender: 'm', category: 'G' },
   { id: 4, name: 'Elena', age: 29, gender: 'W', category: 'M' },
   { id: 1, name: 'Andrew', age: 30, gender: 'm', category: 'G' }
]

更新於: 30-Sep-2020

1 千次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.