„JavaScript“ programa objektų masyvui rūšiuoti pagal nuosavybės vertes

Šiame pavyzdyje išmoksite rašyti „JavaScript“ programą, kuri rūšiuos objektų masyvą pagal nuosavybės vertes.

Norėdami suprasti šį pavyzdį, turite žinoti šias „JavaScript“ programavimo temas:

  • „JavaScript“ masyvo rūšiavimas ()
  • „JavaScript“ masyvas
  • „JavaScript“ objektai

1 pavyzdys: rūšiuokite masyvą pagal nuosavybės pavadinimą

 // 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));

Rezultatas

 ((vardas: „Jack“, amžius: 25), (vardas: „John“, amžius: 24), (vardas: „Sara“, amžius: 24))

Ankstesnėje programoje sort()metodas naudojamas masyvui rūšiuoti pagal objekto elementų ypatybes.

sort()Metodas rūšiuoja savo elementus pagal vertybes grąžinti pagal užsakymą rūšiavimo funkcija (compareName šiuo atveju).

Čia

  • Naudojant toUpperCase()metodą, ypatybių pavadinimai keičiami į didžiąsias .
  • Jei lyginant du vardus gaunama 1 , jų tvarka keičiama.
  • Jei lyginant du vardus gaunama -1 arba 0 , tada jų tvarka paliekama tokia, kokia yra.

2 pavyzdys: rūšiuokite masyvą pagal nuosavybės amžių

 // 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));

Rezultatas

 ((vardas: „Jonas“, amžius: 22), (vardas: „Sara“, amžius: 24), (vardas: „Džekas“, amžius: 27))

Pirmiau pateiktoje programoje sort()metodas naudojamas masyvo elementui rūšiuoti pagal amžiaus ypatybę.

Norėdami palyginti dviejų objektų amžiaus ypatybes, galime juos tiesiog atimti.

  • Jei jų skirtumas yra neigiama reikšmė, jų tvarka keičiama.
  • Jei jų skirtumas yra teigiama reikšmė, tvarka paliekama tokia, kokia yra.

Įdomios straipsniai...