JavaScript-program för att sortera matris av objekt efter fastighetsvärden

I det här exemplet lär du dig att skriva ett JavaScript-program som sorterar en matris med objekt efter egenskaper.

För att förstå detta exempel bör du ha kunskap om följande JavaScript-programmeringsämnen:

  • JavaScript Array sort ()
  • JavaScript Array
  • JavaScript-objekt

Exempel 1: Sortera matris efter fastighetsnamn

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

Produktion

 ((namn: "Jack", ålder: 25), (namn: "John", ålder: 24), (namn: "Sara", ålder: 24))

I ovanstående program används sort()metoden för att sortera en matris efter namnegenskapen för dess objektelement.

Den sort()metod sorterar dess element enligt de värden som returneras av en anpassad sorteringsfunktion (compareName i detta fall).

Här,

  • Egenskapsnamnen ändras till versaler med toUpperCase()metoden.
  • Om man jämför två namn i 1 ändras deras ordning.
  • Om jämförelse av två namn resulterar i -1 eller 0 , lämnas deras ordning som den är.

Exempel 2: Sortera Array efter Property Age

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

Produktion

 ((namn: "John", ålder: 22), (namn: "Sara", ålder: 24), (namn: "Jack", ålder: 27))

I ovanstående program används sort()metoden för att sortera ett arrayelement efter åldersegenskapen.

För att jämföra åldersegenskapen för två objekt kan vi helt enkelt subtrahera dem.

  • Om deras skillnad är ett negativt värde ändras deras ordning.
  • Om deras skillnad är ett positivt värde lämnas ordningen som den är.

Intressanta artiklar...