JavaScriptový program pro třídění polí objektů podle hodnot vlastností

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.

Zajímavé články...