V tomto príklade sa naučíte písať program JavaScript, ktorý zoradí pole objektov podľa hodnôt vlastností.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku JavaScript:
- Zoradenie poľa JavaScript ()
- Pole JavaScript
- Objekty JavaScript
Príklad 1: Zoradenie poľa podľa 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ýkon
((meno: „Jack“, vek: 25), (meno: „John“, vek: 24), (meno: „Sara“, vek: 24))
Vo vyššie uvedenom programe sa sort()
metóda používa na triedenie poľa podľa vlastnosti name jeho objektových prvkov.
sort()
Metóda triedi jeho prvky v súlade s hodnotami, ktoré boli vrátené vlastné radenie funkcií (compareName v tomto prípade).
Tu,
- Názvy vlastností sa pomocou
toUpperCase()
metódy menia na veľké písmená . - Ak porovnanie dvoch mien vedie k 1 , potom sa zmení ich poradie.
- Ak výsledkom porovnania dvoch mien bude hodnota -1 alebo 0 , potom sa ich poradie ponechá tak, ako je.
Príklad 2: Zoradenie poľa podľa veku 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ýkon
((meno: „John“, vek: 22), (meno: „Sara“, vek: 24), (meno: „Jack“, vek: 27))
Vo vyššie uvedenom programe sa sort()
metóda používa na triedenie prvku poľa podľa vlastnosti age.
Pre porovnanie vekovej vlastnosti dvoch objektov ich môžeme jednoducho odčítať.
- Ak je ich rozdiel záporná hodnota, ich poradie sa zmení.
- Ak je ich rozdiel kladná hodnota, poradie sa ponechá tak, ako je.