Nesne Dizisini Özellik Değerlerine Göre Sıralamak için JavaScript Programı

Bu örnekte, bir dizi nesneyi özellik değerlerine göre sıralayacak bir JavaScript programı yazmayı öğreneceksiniz.

Bu örneği anlamak için, aşağıdaki JavaScript programlama konuları hakkında bilgi sahibi olmalısınız:

  • JavaScript Dizisi sıralaması ()
  • JavaScript Dizisi
  • JavaScript Nesneleri

Örnek 1: Diziyi Özellik Adına Göre Sıralama

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

Çıktı

 ((adı: "Jack", yaş: 25), (adı: "John", yaş: 24), (adı: "Sara", yaş: 24))

Yukarıdaki programda sort()yöntem, bir diziyi nesne öğelerinin name özelliğine göre sıralamak için kullanılır.

sort()Yöntem, özel bir sıralama işlevi (bu durumda compareName) tarafından döndürülen değerlere göre öğelerini sıralar.

Buraya,

  • Özellik adları, toUpperCase()yöntem kullanılarak büyük harf olarak değiştirilir .
  • İki ismin karşılaştırılması 1 sonucunu verirse , sıraları değiştirilir.
  • İki adın karşılaştırılması -1 veya 0 ile sonuçlanırsa , sıralamaları olduğu gibi bırakılır.

Örnek 2: Diziyi Özellik Yaşına Göre Sıralama

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

Çıktı

 ((adı: "John", yaş: 22), (adı: "Sara", yaş: 24), (adı: "Jack", yaş: 27))

Yukarıdaki programda sort()yöntem, bir dizi öğesini age özelliğine göre sıralamak için kullanılır.

İki nesnenin yaş özelliğini karşılaştırmak için, onları basitçe çıkarabiliriz.

  • Farkları negatif bir değer ise sıraları değiştirilir.
  • Farkları pozitif bir değer ise, sıra olduğu gibi bırakılır.

Ilginç makaleler...