สมมติว่าเรามีอาร์เรย์ของวัตถุเช่นนี้ -
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 ที่รับอาร์เรย์ดังกล่าวและจัดเรียงอาร์เรย์ตามคุณสมบัติอายุของแต่ละอ็อบเจ็กต์ในลำดับที่เพิ่มขึ้น
ดังนั้นผลลัพธ์ควรมีลักษณะดังนี้ −
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' }
]