Programma JavaScript per ordinare array di oggetti in base ai valori delle proprietà

In questo esempio imparerai a scrivere un programma JavaScript che ordinerà un array di oggetti in base ai valori delle proprietà.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione JavaScript:

  • JavaScript Array sort ()
  • JavaScript Array
  • Oggetti JavaScript

Esempio 1: ordina array per nome proprietà

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

Produzione

 ((nome: "Jack", età: 25), (nome: "John", età: 24), (nome: "Sara", età: 24))

Nel programma precedente, il sort()metodo viene utilizzato per ordinare un array in base alla proprietà name dei suoi elementi oggetto.

Il sort()metodo ordina i suoi elementi in base ai valori restituiti da una funzione di ordinamento personalizzata (compareName in questo caso).

Qui,

  • I nomi delle proprietà vengono modificati in maiuscolo utilizzando il toUpperCase()metodo.
  • Se il confronto di due nomi restituisce 1 , il loro ordine viene modificato.
  • Se il confronto di due nomi restituisce -1 o 0 , il loro ordine viene lasciato così com'è.

Esempio 2: ordina array per età proprietà

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

Produzione

 ((nome: "John", età: 22), (nome: "Sara", età: 24), (nome: "Jack", età: 27))

Nel programma precedente, il sort()metodo viene utilizzato per ordinare un elemento dell'array in base alla proprietà age.

Per confrontare la proprietà età di due oggetti, possiamo semplicemente sottrarli.

  • Se la loro differenza è un valore negativo, il loro ordine viene modificato.
  • Se la loro differenza è un valore positivo, l'ordine viene lasciato così com'è.

Articoli interessanti...