V tomto příkladu se naučíte psát program JavaScript, který bude řadit pole objektů podle hodnot vlastností.
Abyste pochopili tento příklad, měli byste znát následující programovací témata JavaScriptu:
- Třídění pole JavaScript ()
- Pole JavaScript
- Objekty JavaScript
Příklad 1: Řazení pole podle názvu vlastnosti
// program to sort array by property name function compareName(a, b) ( // converting to uppercase to have case-insensitive comparison const name1 = a.name.toUpperCase(); const name2 = b.name.toUpperCase(); let comparison = 0; if (name1> name2) ( comparison = 1; ) else if (name1 < name2) ( comparison = -1; ) return comparison; ) const students = ((name: 'Sara', age:24),(name: 'John', age:24), (name: 'Jack', age:25)); console.log(students.sort(compareName));
Výstup
((jméno: „Jack“, věk: 25), (jméno: „John“, věk: 24), (jméno: „Sara“, věk: 24))
Ve výše uvedeném programu se sort()
metoda používá k řazení pole podle vlastnosti name jeho elementů objektu.
sort()
Metoda třídí jeho prvky v souladu s hodnotami, které byly vráceny vlastní řazení funkcí (compareName v tomto případě).
Tady,
- Názvy vlastností se pomocí
toUpperCase()
metody změní na velká písmena . - Pokud porovnání dvou jmen vede k 1 , změní se jejich pořadí.
- Pokud porovnání dvou jmen povede k -1 nebo 0 , pak jejich pořadí zůstane tak, jak je.
Příklad 2: Řazení pole podle stáří vlastnosti
// program to sort array by property name function compareAge(a, b) ( return a.age - b.age; ) const students = ((name: 'Sara', age:24),(name: 'John', age:22), (name: 'Jack', age:27)); console.log(students.sort(compareAge));
Výstup
((jméno: „John“, věk: 22), (jméno: „Sara“, věk: 24), (jméno: „Jack“, věk: 27))
Ve výše uvedeném programu se sort()
metoda používá k řazení prvku pole podle vlastnosti age.
Abychom mohli porovnat věkovou vlastnost dvou objektů, můžeme je jednoduše odečíst.
- Pokud je jejich rozdíl zápornou hodnotou, změní se jejich pořadí.
- Pokud je jejich rozdíl kladná hodnota, pořadí se ponechá tak, jak je.