Hoe te verminderen op een reeks objecten om hun eigenschappen op te tellen?

Hoe Te Verminderen Op Een Reeks Objecten Om Hun Eigenschappen Op Te Tellen



Tijdens het werken met arrays van objecten in JavaScript, is het vaak nodig om berekeningen uit te voeren op hun eigenschappen. Het vinden van de som van een specifieke eigenschap voor alle objecten in een array is bijvoorbeeld een veelvoorkomende taak. De ' verminderen() ” methode is een handig hulpmiddel voor het voltooien van dergelijke berekeningen, omdat u hiermee iteratief een waarde kunt verzamelen op basis van de leden van een array.

Deze tutorial beschrijft de procedure om de methode reduce() aan te roepen op een reeks objecten om de som van hun eigenschappen te vinden.

Hoe te verminderen op een reeks objecten om hun eigenschappen op te tellen?

Om de eigenschappen van een reeks objecten op te tellen, geeft u de callback-functie door aan de ' verminderen() ” methode. Deze callback-methode accepteert twee argumenten, een ' accumulator ' en de ' huidige waarde ”. De 'huidige waarde' vertegenwoordigt het momenteel verwerkte element en de 'accumulator' specificeert het cumulatieve totaal van de som. Gebruik voor het berekenen van de som van de opgegeven eigenschap van de objecten de puntnotatie (.) of de haakjesnotatie ([ ]) binnen de callback-functie.







Syntaxis
De gegeven syntaxis wordt gebruikt voor de methode 'reduce()':



reeks. verminderen ( callbackFunc , beginwaarde )

voorbeeld 1
Maak een reeks objecten met de naam ' inventaris ”, dat vier objecten heeft met namen van de producten en hun respectievelijke hoeveelheden:



was inventaris = [
{ productnaam : 'Brood' , hoeveelheid : 30 } ,
{ productnaam : 'Boter' , hoeveelheid : Vier vijf } ,
{ productnaam : 'Sap' , hoeveelheid : 58 } ,
{ productnaam : 'Haver' , hoeveelheid : 40 }
] ;

Roep de methode reduce() aan met de callback-functie om de som van de eigenschap van het object met de naam ' hoeveelheid ”:





was totaalProductenAantal = inventaris. verminderen ( functie ( vorigeVal , huidigeVal ) {
opbrengst vorigeVal + huidigeVal. hoeveelheid ;
} , 0 ) ;

Druk ten slotte de gereduceerde waarde van de som van de hoeveelheid af op de console:

troosten. loggen ( 'Totaal aantal producten:' , totaalProductenAantal ) ;

Er kan worden waargenomen dat de som van de eigenschappen van de objecten met succes is berekend:



Voorbeeld 2
U kunt ook een functie definiëren voor het berekenen van de som van de eigenschap van het opgegeven object. Eerst definiëren we een object met de naam 'student' met attributen/eigenschappen genaamd ' onderwerp ' en de ' merken ”:

was student = [
{ onderwerp : 'Wiskunde' , merken : 89 } ,
{ onderwerp : 'Geografie' , merken : 72 } ,
{ onderwerp : 'Wetenschap' , merken : 65 } ,
{ onderwerp : 'Engels' , merken : 75 }
] ;

Definieer een functie met de naam ' berekening() ”, en voor toegang tot de eigenschap van een object gebruikt u de notatie tussen haakjes ([ ]):

functie berekening ( obj , eigendom ) {
was berekenen = obj. verminderen ( functie ( vorigeVal , huidigeVal ) {
opbrengst vorigeVal + huidigeVal [ eigendom ] ;
} , 0 ) ;
troosten. loggen ( 'Totaal:' , berekenen ) ;
}

Roep nu de functie aan door een object door te geven ' student ” en een pand “ merken ” om de som van het totaal aantal behaalde punten voor alle vakken te bepalen:

berekening ( student , 'merken' ) ;

Uitgang

Dat is alles over het aanroepen van de methode reduce() op een reeks objecten om de som van hun eigenschappen te berekenen.

Conclusie

Geef de callback-functie door aan de ' verminderen() ”methode voor het berekenen van de som van de eigenschappen van een reeks objecten. Gebruik de punt '.' om toegang te krijgen tot de eigenschappen van het object. notatie of haakje '[ ]' notatie binnen de callback-functie. In deze zelfstudie wordt de procedure beschreven voor het aanroepen van de methode reduce() op een reeks objecten om de som van hun eigenschappen te vinden.