Ovaj vodič će opisati postupak pozivanja metode reduce() na nizu objekata za pronalaženje zbroja njihovih svojstava.
Kako pozvati redukciju na nizu objekata da bi se zbrojila njihova svojstva?
Da biste zbrojili svojstva niza objekata, proslijedite funkciju povratnog poziva u ' smanjiti() ” metoda. Ova metoda povratnog poziva prihvaća dva argumenta, ' akumulator ' i ' Trenutna vrijednost ”. 'Trenutna vrijednost' predstavlja element koji se trenutno obrađuje, a 'akumulator' specificira kumulativni ukupni zbroj. Za izračun zbroja navedenog svojstva objekata, upotrijebite zapis s točkom (.) ili zagradom ([ ]) unutar funkcije povratnog poziva.
Sintaksa
Dana sintaksa koristi se za metodu 'reduce()':
niz. smanjiti ( callbackFunc , početnaVrijednost )
Primjer 1
Napravite niz objekata pod nazivom ' inventar “, koji ima četiri objekta koji sadrže nazive proizvoda i njihove količine:
bio je inventar = [
{ ime proizvoda : 'Kruh' , količina : 30 } ,
{ ime proizvoda : 'Maslac' , količina : Četiri pet } ,
{ ime proizvoda : 'Sok' , količina : 58 } ,
{ ime proizvoda : 'Zob' , količina : 40 }
] ;
Pozovite metodu reduce() s funkcijom povratnog poziva za dobivanje zbroja svojstava objekta pod nazivom ' količina ”:
bio je totalProductsQuantity = inventar. smanjiti ( funkcija ( prethodniVal , currentVal ) {
povratak prethodniVal + currentVal. količina ;
} , 0 ) ;
Na kraju ispišite smanjenu vrijednost zbroja količine na konzoli:
konzola. log ( 'Ukupna količina proizvoda:' , totalProductsQuantity ) ;Može se uočiti da je zbroj svojstava objekata uspješno izračunat:
Primjer 2
Također možete definirati funkciju za izračunavanje zbroja svojstva navedenog objekta. Prvo ćemo definirati objekt pod nazivom 'student' s atributima/svojstvima pod nazivom ' subjekt ' i ' oznake ”:
{ subjekt : 'Matematika' , oznake : 89 } ,
{ subjekt : 'Geografija' , oznake : 72 } ,
{ subjekt : 'Znanost' , oznake : 65 } ,
{ subjekt : 'Engleski' , oznake : 75 }
] ;
Definirajte funkciju pod nazivom ' izračun() ”, a za pristup svojstvu objekta upotrijebite zagradu ([ ]) notaciju:
funkcija izračun ( obj , imovine ) {bio je izračunati = obj. smanjiti ( funkcija ( prethodniVal , currentVal ) {
povratak prethodniVal + currentVal [ imovine ] ;
} , 0 ) ;
konzola. log ( 'Ukupno:' , izračunati ) ;
}
Sada pozovite funkciju prosljeđivanjem objekta ' student ' i svojstvo ' oznake ” za određivanje zbroja ukupnih ocjena iz svih predmeta:
izračun ( student , 'oznake' ) ; Izlaz
To je sve o tome kako pozvati metodu reduce() na nizu objekata za izračunavanje zbroja njihovih svojstava.
Zaključak
Proslijedite funkciju povratnog poziva u ' smanjiti() ” metoda za izračunavanje zbroja svojstava niza objekata. Za pristup svojstvima objekta upotrijebite točku '.' notacija ili notacija u zagradi “[ ]” unutar funkcije povratnog poziva. Ovaj vodič opisuje proceduru za pozivanje metode reduce() na nizu objekata za pronalaženje zbroja njihovih svojstava.