Den här handledningen kommer att beskriva proceduren för att anropa metoden reduce() på en array av objekt för att hitta summan av deras egenskaper.
Hur anropar man reducering på en rad objekt för att summera deras egenskaper?
För att summera egenskaperna för en array av objekt, skicka återuppringningsfunktionen till ' minska() 'metoden. Denna återuppringningsmetod accepterar två argument, en ' ackumulator ' och den ' nuvarande värde ”. Det 'aktuella värdet' representerar det element som för närvarande bearbetas, och 'ackumulatorn' anger den ackumulerade summan av summan. För att beräkna summan av den angivna egenskapen för objekten, använd punkt (.) notation eller parentes ([ ]) notation inom callback-funktionen.
Syntax
Den givna syntaxen används för metoden 'reduce()':
array. minska ( callbackFunc , ursprungligt värde )
Exempel 1
Skapa en array av objekt med namnet ' lager ”, som har fyra objekt som innehåller namn på produkterna och deras respektive kvantiteter:
var lager = [
{ produktnamn : 'Bröd' , kvantitet : 30 } ,
{ produktnamn : 'Smör' , kvantitet : Fyra fem } ,
{ produktnamn : 'Juice' , kvantitet : 58 } ,
{ produktnamn : 'Havre' , kvantitet : 40 }
] ;
Anropa reduce()-metoden med callback-funktionen för att få summan av objektets egenskap som heter ' kvantitet ”:
var totalProduktkvantitet = lager. minska ( fungera ( föregåendeVal , aktuellVal ) {
lämna tillbaka föregåendeVal + aktuellVal. kvantitet ;
} , 0 ) ;
Skriv slutligen ut det reducerade värdet av summan av kvantiteten på konsolen:
trösta. logga ( 'Totalt antal produkter:' , totalProduktkvantitet ) ;Det kan observeras att summan av objektens egenskaper har beräknats framgångsrikt:
Exempel 2
Du kan också definiera en funktion för att beräkna summan av det angivna objektets egenskap. Först kommer vi att definiera ett objekt som heter 'student' med attribut/egenskaper som kallas ' ämne ' och den ' märken ”:
{ ämne : 'Matematik' , märken : 89 } ,
{ ämne : 'Geografi' , märken : 72 } ,
{ ämne : 'Vetenskap' , märken : 65 } ,
{ ämne : 'Engelsk' , märken : 75 }
] ;
Definiera en funktion som heter ' beräkning() ”, och för att komma åt egenskapen för ett objekt, använd parentes ([ ]) notation:
fungera beräkning ( obj , fast egendom ) {var Beräkna = obj. minska ( fungera ( föregåendeVal , aktuellVal ) {
lämna tillbaka föregåendeVal + aktuellVal [ fast egendom ] ;
} , 0 ) ;
trösta. logga ( 'Total:' , Beräkna ) ;
}
Anropa nu funktionen genom att skicka ett objekt ' studerande ' och en fastighet ' märken ” för att bestämma summan av de totala poäng som erhållits i alla ämnen:
beräkning ( studerande , 'märken' ) ; Produktion
Det handlar om hur man anropar reduce()-metoden på en array av objekt för att beräkna summan av deras egenskaper.
Slutsats
Skicka återuppringningsfunktionen till ' minska() ” metod för att beräkna summan av egenskaperna hos en array av objekt. För att komma åt objektets egenskaper, använd punkten '.' notation eller parentes '[ ]' notation inom återuppringningsfunktionen. Denna handledning beskrev proceduren för att anropa metoden reduce() på en array av objekt för att hitta summan av deras egenskaper.