Kuidas vähendada objektide massiivi, et nende omadused kokku võtta?

Kuidas Vahendada Objektide Massiivi Et Nende Omadused Kokku Votta



JavaScriptis objektide massiividega töötades on sageli vaja teha arvutusi nende omaduste kohta. Näiteks konkreetse omaduse summa leidmine kõigi massiivi objektide vahel on tavaline ülesanne. ' vähenda () ” meetod on kasulik tööriist selliste arvutuste tegemiseks, kuna see võimaldab koguda väärtusi iteratiivselt massiivi liikmete põhjal.

See õpetus kirjeldab protseduuri, mille abil kutsuda välja meetodi Reduction() objektide massiiv, et leida nende omaduste summa.

Kuidas vähendada objektide massiivi, et nende omadused kokku võtta?

Objektide massiivi omaduste kokkuvõtmiseks edastage tagasihelistamise funktsioon ' vähenda () ” meetod. See tagasihelistamismeetod aktsepteerib kahte argumenti, akumulaator ' ja ' praegune väärtus ”. 'Praegune väärtus' tähistab hetkel töödeldavat elementi ja 'akumulaator' määrab summa kumulatiivse kogusumma. Objektide määratud omaduste summa arvutamiseks kasutage tagasihelistamisfunktsioonis punkti (.) või sulud ([ ]) tähistust.







Süntaks
Antud süntaksit kasutatakse meetodi 'reduce()' jaoks:



massiivi. vähendada ( tagasihelistamisfunktsioon , Algne väärtus )

Näide 1
Looge objektide massiiv nimega ' inventar ”, millel on neli objekti, mis sisaldavad toodete nimetusi ja vastavaid koguseid:



oli inventar = [
{ tootenimi : 'Leib' , kogus : 30 } ,
{ tootenimi : 'või' , kogus : Neli, viis } ,
{ tootenimi : 'Mahl' , kogus : 58 } ,
{ tootenimi : 'Kaer' , kogus : 40 }
] ;

Kutsuge tagasihelistamisfunktsiooniga meetodit Reduction(), et saada objekti atribuutide summa nimega ' kogus ”:





oli TotalProductsQuantity = inventar. vähendada ( funktsiooni ( eelmineVal , praeguneVal ) {
tagasi eelmineVal + praeguneVal. kogus ;
} , 0 ) ;

Lõpuks printige konsoolile koguse summa vähendatud väärtus:

konsool. logi ( 'Tootekogus kokku:' , TotalProductsQuantity ) ;

Võib täheldada, et objektide omaduste summa on edukalt arvutatud:



Näide 2
Samuti saate määratleda funktsiooni määratud objekti omaduste summa arvutamiseks. Esiteks määratleme objekti nimega 'õpilane' atribuutidega / omadustega ' teema ' ja ' märgid ”:

oli õpilane = [
{ teema : 'matemaatika' , märgid : 89 } ,
{ teema : 'geograafia' , märgid : 72 } ,
{ teema : 'Teadus' , märgid : 65 } ,
{ teema : 'Inglise' , märgid : 75 }
] ;

Määrake funktsioon nimega ' arvutus() ”, ja objekti atribuudile juurde pääsemiseks kasutage sulgudes ([ ]) olevat märki:

funktsiooni arvutus ( obj , vara ) {
oli arvutama = obj. vähendada ( funktsiooni ( eelmineVal , praeguneVal ) {
tagasi eelmineVal + praeguneVal [ vara ] ;
} , 0 ) ;
konsool. logi ( 'Kokku:' , arvutama ) ;
}

Nüüd kutsuge funktsioon välja, edastades objekti ' õpilane 'ja kinnisvara' märgid ” kõigis ainetes saadud hinnete summa määramiseks:

arvutus ( õpilane , 'märgid' ) ;

Väljund

See kõik puudutab seda, kuidas kutsuda välja reduktori () meetod objektide massiivi puhul, et arvutada nende omaduste summa.

Järeldus

Edastage tagasihelistamise funktsioon ' vähenda () ” meetod objektide massiivi omaduste summa arvutamiseks. Objekti omadustele juurdepääsuks kasutage punkti ''. tähistus või sulg „[ ]” tagasihelistamise funktsioonis. Selles õpetuses kirjeldati meetodi Reduction() kutsumise protseduuri objektide massiivile, et leida nende omaduste summa.