Bu öğretici, özelliklerinin toplamını bulmak için bir dizi nesne üzerinde reduce() yöntemini çağırma prosedürünü açıklayacaktır.
Özelliklerini Toplamak için Bir Nesne Dizisinde azaltma nasıl çağrılır?
Bir nesne dizisinin özelliklerini toplamak için, geri arama işlevini “ azaltmak() ' yöntem. Bu geri arama yöntemi iki argüman kabul eder, bir ' akümülatör ' ve ' Mevcut değer ”. 'Geçerli değer', o anda işlenmekte olan öğeyi temsil eder ve 'akümülatör', toplamın kümülatif toplamını belirtir. Nesnelerin belirtilen özelliğinin toplamını hesaplamak için, geri arama işlevinde nokta (.) gösterimini veya köşeli ayraç ([ ]) gösterimini kullanın.
Sözdizimi
Verilen sözdizimi “reduce()” yöntemi için kullanılır:
sıralamak. azaltmak ( geri aramaFunc , başlangıç değeri )
örnek 1
“ adlı bir nesne dizisi oluşturun. envanter ', ürünlerin adlarını ve ilgili miktarlarını içeren dört nesneye sahiptir:
öyleydi envanter = [
{ Ürün adı : 'Ekmek' , miktar : 30 } ,
{ Ürün adı : 'Tereyağı' , miktar : Dört beş } ,
{ Ürün adı : 'Meyve suyu' , miktar : 58 } ,
{ Ürün adı : Yulaf , miktar : 40 }
] ;
Nesnenin 'adlı özelliğinin toplamını elde etmek için geri çağırma işleviyle reduce() yöntemini çağırın. miktar ”:
öyleydi toplamÜrün Miktarı = envanter. azaltmak ( işlev ( öncekiVal , akımVal ) {
geri dönmek öncekiVal + akımVal. miktar ;
} , 0 ) ;
Son olarak, miktar toplamının indirgenmiş değerini konsolda yazdırın:
konsol. kayıt ( 'Toplam Ürün Miktarı:' , toplamÜrün Miktarı ) ;Nesnelerin özelliklerinin toplamının başarıyla hesaplandığı gözlemlenebilir:
Örnek 2
Belirtilen nesnenin özelliklerinin toplamını hesaplamak için bir işlev de tanımlayabilirsiniz. İlk olarak, “student” adlı bir nesneyi, “” adlı nitelikler/özellikler ile tanımlayacağız. ders ' ve ' işaretler ”:
{ ders : 'Matematik' , işaretler : 89 } ,
{ ders : 'Coğrafya' , işaretler : 72 } ,
{ ders : 'Bilim' , işaretler : 65 } ,
{ ders : 'İngilizce' , işaretler : 75 }
] ;
“ adlı bir işlev tanımlayın. hesaplama() ”ve bir nesnenin özelliğine erişmek için parantez ([ ]) gösterimini kullanın:
işlev hesaplama ( nesne , mülk ) {öyleydi hesaplamak = nesne azaltmak ( işlev ( öncekiVal , akımVal ) {
geri dönmek öncekiVal + akımVal [ mülk ] ;
} , 0 ) ;
konsol. kayıt ( 'Toplam:' , hesaplamak ) ;
}
Şimdi, bir nesneyi ileterek işlevi çağırın ' öğrenci ” ve bir mülk “ işaretler ” tüm konularda alınan toplam puanların toplamını belirlemek için:
hesaplama ( öğrenci , 'işaretler' ) ; Çıktı
Bu, özelliklerinin toplamını hesaplamak için bir dizi nesne üzerinde reduce() yönteminin nasıl çağrılacağıyla ilgilidir.
Çözüm
Geri arama işlevini “ azaltmak() ” bir nesne dizisinin özelliklerinin toplamını hesaplama yöntemi. Nesnenin özelliklerine erişmek için nokta '.' geri arama işlevi içinde notasyon veya parantez “[ ]” gösterimi. Bu eğitimde, özelliklerinin toplamını bulmak için bir dizi nesne üzerinde reduce() yöntemini çağırma prosedürünü açıkladı.