У овом примеру ћете научити да пишете ЈаваСцрипт програм који ће сортирати низ објеката према вредностима својстава.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања ЈаваСцрипт:
- ЈаваСцрипт Арраи сорт ()
- ЈаваСцрипт Арраи
- ЈаваСцрипт објекти
Пример 1: Сортирање низа према називу својства
// 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));
Оутпут
((име: "Јацк", старост: 25), (име: "Јохн", старост: 24), (име: "Сара", старост: 24))
У горе наведеном програму sort()
метода се користи за сортирање низа по својству наме његових објектних елемената.
sort()
Метод сортира његове елементе у складу са вредностима вратио наменску методу функцију (цомпареНаме у овом случају).
Ево,
- Имена својстава се мењају у велика слова помоћу
toUpperCase()
методе. - Ако се упоређивањем два имена добије 1 , онда се њихов редослед мења.
- Ако се упоређивањем два имена добије -1 или 0 , њихов редослед остаје непромењен.
Пример 2: Сортирање низа према старосној доби
// 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));
Оутпут
((име: "Јохн", старост: 22), (име: "Сара", старост: 24), (име: "Јацк", старост: 27))
У горе наведеном програму sort()
метода се користи за сортирање низа по својству аге.
Да бисмо упоредили својство старости два објекта, можемо их једноставно одузети.
- Ако је њихова разлика негативна вредност, њихов редослед се мења.
- Ако је њихова разлика позитивна вредност, редослед се оставља такав какав је.