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 ”:
{ 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.