{"id":219862,"date":"2020-08-22T00:00:00","date_gmt":"2020-08-21T22:00:00","guid":{"rendered":"https:\/\/blog.lewagon.com\/nao-categorizado\/array-reduce-aprenda-usar-metodo-javascript\/"},"modified":"2020-08-22T00:00:00","modified_gmt":"2020-08-21T22:00:00","slug":"array-reduce-aprenda-usar-metodo-javascript","status":"publish","type":"post","link":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/","title":{"rendered":"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida"},"content":{"rendered":"","protected":false},"excerpt":{"rendered":"<p>O m\u00e9todo Array.reduce(), \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa.<\/p>\n","protected":false},"author":1,"featured_media":219863,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[146],"type_de_post":[],"post-format":[179],"class_list":["post-219862","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-skills","tag-web-pt-br","post-format-post-pt-br"],"acf":[],"acfml_non_translatable_locations":null,"_wp_attached_file":null,"_wp_attachment_metadata":null,"wpml_media_processed":null,"_elementor_inline_svg":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"_msc":null,"_elementor_is_screenshot":null,"_wp_attachment_context":null,"_oembed_4f1dc266c1e5b199d2e3668569863d35":null,"_wp_attachment_backup_sizes":null,"description_courte_du_cours":null,"_description_courte_du_cours":null,"sujets":null,"_sujets":null,"niveau":null,"_niveau":null,"duree":null,"_duree":null,"lien_externe_du_cours":null,"_lien_externe_du_cours":null,"_g_feedback_shortcode_8e54bebc0966bf7f9290fee5ef5e57c8a8c597c6":null,"_g_feedback_shortcode_atts_8e54bebc0966bf7f9290fee5ef5e57c8a8c597c6":null,"elementor_font_files":null,"elementor_font_face":null,"_elementor_location":null,"_elementor_priority":null,"_elementor_code":null,"_elementor_extra_options":null,"date_de_levent":null,"_date_de_levent":null,"heure_de_debut_de_levent":null,"_heure_de_debut_de_levent":null,"heure_de_fin_de_levent":null,"_heure_de_fin_de_levent":null,"time_zone":null,"_time_zone":null,"description_de_levent":null,"_description_de_levent":null,"format_du_cours":null,"_format_du_cours":null,"pre-requis":null,"_pre-requis":null,"langue_de_levent":null,"_langue_de_levent":null,"lien_externe_de_levent":null,"_lien_externe_de_levent":null,"_yoast_wpseo_primary_tag_events":null,"lieu_de_levent":null,"_lieu_de_levent":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_omapi_type":null,"_omapi_ids":null,"_omapi_enabled":null,"_yoast_wpseo_content_score":null,"_pll_strings_translations":null,"_yoast_wpseo_primary_post_tag":null,"_yoast_wpseo_primary_type_de_post":null,"_yoast_wpseo_primary_post-format":null,"_oembed_e607e81f61090d85eabdabc743a27470":null,"_oembed_196c62ccee9fda191cd6fa5f568ddc05":null,"_oembed_6b5f28c0de48cbf3a2ad766be5eb3b30":null,"_oembed_082c4292f4cd0dedc40ae746a899501c":null,"om_disable_all_campaigns":null,"wpil_sync_report3":"1","_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_yoast_wpseo_opengraph-title":"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida | Le Wagon","_yoast_wpseo_opengraph-description":"O m\u00e9todo Array.reduce(), \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa.","_yoast_wpseo_twitter-title":"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida | Le Wagon","_yoast_wpseo_twitter-description":"O m\u00e9todo Array.reduce(), \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa.","wpil_links_inbound_internal_count":"0","wpil_links_inbound_internal_count_data":[],"wpil_links_outbound_internal_count":"0","wpil_links_outbound_internal_count_data":[],"wpil_links_outbound_external_count":"0","wpil_links_outbound_external_count_data":[],"wpil_sync_report2_time":"2023-08-11T09:31:53+00:00","gnpub_modified_count":null,"_encloseme":null,"_jetpack_memberships_contains_paid_content":null,"_oembed_df252bc3f21e94e550790f0a26013d33":null,"_oembed_7c25793225e5877909b9566a95c01f07":null,"_oembed_time_7c25793225e5877909b9566a95c01f07":null,"_oembed_c035311b2d37111892bc6336ad75c1a7":null,"_oembed_time_c035311b2d37111892bc6336ad75c1a7":null,"_yoast_wpseo_focuskw_text_input":"","_yoast_wpseo_opengraph-image":"https:\/\/blog.lewagon.com\/wp-content\/uploads\/2023\/03\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg","_yoast_wpseo_twitter-image":"https:\/\/blog.lewagon.com\/wp-content\/uploads\/2023\/03\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg","_bnitk_mfd_meta-robots-noindex":null,"_yoast_wpseo_meta-robots-noindex":null,"_bnitk_mfd_meta-robots-nofollow":null,"_yoast_wpseo_meta-robots-nofollow":null,"_oembed_9b38dff8e9475b390d223d1a13735d6e":null,"_oembed_09b03dce1da57707d8b400d6ead6cfea":null,"_oembed_time_09b03dce1da57707d8b400d6ead6cfea":null,"_oembed_761875ecd5d7c814e779a8a1669e3078":null,"_oembed_time_761875ecd5d7c814e779a8a1669e3078":null,"_oembed_60128998417fdcbaac97a635f5785efd":null,"_oembed_time_60128998417fdcbaac97a635f5785efd":null,"_oembed_bbc2c908fc7e611d82dce88119dc4350":null,"_oembed_time_bbc2c908fc7e611d82dce88119dc4350":null,"_oembed_5ada75a4373349f7b136423290505b3a":null,"_oembed_time_5ada75a4373349f7b136423290505b3a":null,"_oembed_086373a651e90a4eb1279fa1f945472c":null,"_oembed_time_086373a651e90a4eb1279fa1f945472c":null,"_wpml_post_translation_editor_native":null,"_oembed_5e24c29ce369f6b80c9eeec04f14665b":null,"_oembed_time_5e24c29ce369f6b80c9eeec04f14665b":null,"_oembed_8c3e7085f10b7c0fc5520e72277d797b":null,"_oembed_time_8c3e7085f10b7c0fc5520e72277d797b":null,"_oembed_1489782c3c8ef26605b6876b88f7bdda":null,"_oembed_time_1489782c3c8ef26605b6876b88f7bdda":null,"_oembed_0a3d659fc8de333aa903ab0b56018d23":null,"_oembed_time_0a3d659fc8de333aa903ab0b56018d23":null,"_oembed_d1585e059963c7dbe1909a198f64637b":null,"_oembed_da273c5e4d4993b38963204fa3018b68":null,"_oembed_time_da273c5e4d4993b38963204fa3018b68":null,"_oembed_a5e2c70342e4f17e48253b0a60b76258":null,"_oembed_time_a5e2c70342e4f17e48253b0a60b76258":null,"_oembed_83c8f84c43191797360817ecdc633650":null,"_oembed_time_83c8f84c43191797360817ecdc633650":null,"_oembed_e105b3463a1e23321ff3d1a9daf4ce77":null,"_oembed_1692f2329443bc1b18fc320e0d77cb4e":null,"_yoast_wpseo_schema_article_type":null,"_oembed_02bf1d274545a46fdad44828db802e9b":null,"_oembed_483efee027379bb1099137e135e60619":null,"_oembed_time_483efee027379bb1099137e135e60619":null,"_oembed_d9e3a2e55472c308a6d4f95f9859d57c":null,"_oembed_time_d9e3a2e55472c308a6d4f95f9859d57c":null,"_oembed_14a773041d4083fdc540105ccc635e1f":null,"_oembed_time_14a773041d4083fdc540105ccc635e1f":null,"_oembed_fd2c0295b311b878f43def139f693291":null,"_oembed_time_fd2c0295b311b878f43def139f693291":null,"_oembed_9e88339a75e081aa4aa002ac43b5917e":null,"_oembed_time_9e88339a75e081aa4aa002ac43b5917e":null,"_oembed_e58b2264fd34411178c5aead6e76fc0e":null,"_oembed_time_e58b2264fd34411178c5aead6e76fc0e":null,"_oembed_bddf29494cd341c273d2f25802785f3a":null,"_oembed_time_bddf29494cd341c273d2f25802785f3a":null,"_oembed_9fdc7ffbd7d1c456cb57323136bcf86d":null,"_oembed_time_9fdc7ffbd7d1c456cb57323136bcf86d":null,"_oembed_6882adf1f7ba34c40d8abda49c078862":null,"_oembed_time_6882adf1f7ba34c40d8abda49c078862":null,"_oembed_42ae0b6a999f98ed81c86edf9b80d360":null,"_oembed_time_42ae0b6a999f98ed81c86edf9b80d360":null,"_oembed_f4dcff6ba8f84f09cade790420ba4d80":null,"_oembed_time_f4dcff6ba8f84f09cade790420ba4d80":null,"_oembed_25071af9d5ecd73a9356fe5704bba4d8":null,"_oembed_time_25071af9d5ecd73a9356fe5704bba4d8":null,"_oembed_a86728f5efc0ca0642006bbb96f843cc":null,"_oembed_time_a86728f5efc0ca0642006bbb96f843cc":null,"_oembed_d7b5055b785ef8a0cf22c87d024bf2a4":null,"_oembed_time_d7b5055b785ef8a0cf22c87d024bf2a4":null,"_oembed_6a73e101cae7c3452b00a72cf0fc9b22":null,"_oembed_time_6a73e101cae7c3452b00a72cf0fc9b22":null,"_oembed_0aef478f0830cc2e857b9a150a7f763a":null,"_oembed_time_0aef478f0830cc2e857b9a150a7f763a":null,"_oembed_d1a3bdcdf10e4859560b01d910ad1120":null,"_oembed_time_d1a3bdcdf10e4859560b01d910ad1120":null,"_oembed_05ef2af36a31586761b7311d393d1df4":null,"_oembed_time_05ef2af36a31586761b7311d393d1df4":null,"_oembed_ed00fe1690bb2e86f1eb06acfe8a13e7":null,"_oembed_time_ed00fe1690bb2e86f1eb06acfe8a13e7":null,"_oembed_59ffcbf71f633752ca4f26b3b4a544c9":null,"_oembed_time_59ffcbf71f633752ca4f26b3b4a544c9":null,"_oembed_a7b688611478922544f14672fda18461":null,"_oembed_time_a7b688611478922544f14672fda18461":null,"_oembed_266f9a151e3a09eeee918af2d28fd24f":null,"_oembed_time_266f9a151e3a09eeee918af2d28fd24f":null,"_oembed_9f52726dd229470e47d40ff0c8aeb5f8":null,"_oembed_time_9f52726dd229470e47d40ff0c8aeb5f8":null,"_oembed_5547f713058fed19783e0533ce393a31":null,"_oembed_time_5547f713058fed19783e0533ce393a31":null,"_oembed_68ff8dd20e77e109ad084c2252ca040d":null,"_oembed_time_68ff8dd20e77e109ad084c2252ca040d":null,"_oembed_819f09a569080db91bf5dadda0a30d9f":null,"_oembed_time_819f09a569080db91bf5dadda0a30d9f":null,"_oembed_4fc081fbdf0afd05a624ba852a63e133":null,"_oembed_time_4fc081fbdf0afd05a624ba852a63e133":null,"_oembed_d66baf1301b99db8b19a0924319cf03e":null,"_oembed_time_d66baf1301b99db8b19a0924319cf03e":null,"_oembed_14a5f80e3eef4903e482b0ef3799659e":null,"_oembed_time_14a5f80e3eef4903e482b0ef3799659e":null,"_oembed_c24c715adb3853482526a794a5f3c3bb":null,"_oembed_time_c24c715adb3853482526a794a5f3c3bb":null,"_oembed_9c493e098be2852715cc990b6e6243f3":null,"_oembed_time_9c493e098be2852715cc990b6e6243f3":null,"_oembed_b60b7e3028d326711916099f54e986fa":null,"_oembed_time_b60b7e3028d326711916099f54e986fa":null,"_oembed_5283e19fcec44e632de8d436d46ec2f7":null,"_oembed_time_5283e19fcec44e632de8d436d46ec2f7":null,"_oembed_057692cb4479cf5c77363896a28db44f":null,"_oembed_time_057692cb4479cf5c77363896a28db44f":null,"_oembed_e8cb0f41d141fe5eb9d69fc32a98cd72":null,"_oembed_time_e8cb0f41d141fe5eb9d69fc32a98cd72":null,"_oembed_75dcbca80ec1829a77578390fae8fa56":null,"_oembed_time_75dcbca80ec1829a77578390fae8fa56":null,"_oembed_e49318dfeabd5f16d7967e2fcc746fbd":null,"_oembed_time_e49318dfeabd5f16d7967e2fcc746fbd":null,"_oembed_76116b03fe5a013341210d278021184b":null,"_oembed_time_76116b03fe5a013341210d278021184b":null,"_oembed_6c81e1c9b634b5066fb37aaccfd71053":null,"_oembed_time_6c81e1c9b634b5066fb37aaccfd71053":null,"_oembed_abbc1aa97e554f334c2ce25f0d883702":null,"_oembed_time_abbc1aa97e554f334c2ce25f0d883702":null,"_oembed_ba421363b36dd97c087665d5025396cf":null,"_oembed_time_ba421363b36dd97c087665d5025396cf":null,"_oembed_a98f236eb48eb9cd4ede7f319e9cfbc7":null,"_oembed_time_a98f236eb48eb9cd4ede7f319e9cfbc7":null,"_oembed_d61fec7d73397687995fec8d7bd9852f":null,"_oembed_time_d61fec7d73397687995fec8d7bd9852f":null,"_oembed_2e9e46a0176fe90e49cc5fff32ac6912":null,"_oembed_time_2e9e46a0176fe90e49cc5fff32ac6912":null,"_oembed_8a304f49b3aa1c3eec8d0b0577e05e3d":null,"_oembed_time_8a304f49b3aa1c3eec8d0b0577e05e3d":null,"_oembed_ad30824ca1e37cffdad2dbce46c4998a":null,"_oembed_time_ad30824ca1e37cffdad2dbce46c4998a":null,"_oembed_6c3dacc8273d4877c65378c1f324c9cc":null,"_oembed_time_6c3dacc8273d4877c65378c1f324c9cc":null,"_oembed_1d0e7d3c6d826ca1e56a24218abba6f2":null,"_oembed_time_1d0e7d3c6d826ca1e56a24218abba6f2":null,"_oembed_50929cd1300f7cdee57e6e5451afb186":null,"_oembed_time_50929cd1300f7cdee57e6e5451afb186":null,"_oembed_72dc139d079681a2c3d759a86af48ccc":null,"_oembed_time_72dc139d079681a2c3d759a86af48ccc":null,"_oembed_d359fdb1fa5da9e62dd3505937f46fb6":null,"_oembed_time_d359fdb1fa5da9e62dd3505937f46fb6":null,"_oembed_589d6065ccac39334963be5bd8656631":null,"_oembed_time_589d6065ccac39334963be5bd8656631":null,"_oembed_715be02b6ebadc1be6dd638a57d01eb7":null,"_oembed_time_715be02b6ebadc1be6dd638a57d01eb7":null,"_oembed_f5139a9df267d3aa532f5b56409c90b0":null,"_oembed_time_f5139a9df267d3aa532f5b56409c90b0":null,"_oembed_3d9a26be229b27005ca74596fb62cc08":null,"_oembed_time_3d9a26be229b27005ca74596fb62cc08":null,"_oembed_a7d6f0ce79de685fc6f7f4d447e15468":null,"_oembed_time_a7d6f0ce79de685fc6f7f4d447e15468":null,"_oembed_20849479e832b5312335e3086c5f972b":null,"_oembed_time_20849479e832b5312335e3086c5f972b":null,"_oembed_2be4d392f66846deb7624c1bf3bc293e":null,"_oembed_time_2be4d392f66846deb7624c1bf3bc293e":null,"_oembed_9bcf546ec292041d23df28a719840688":null,"_oembed_time_9bcf546ec292041d23df28a719840688":null,"_oembed_0858ffd7404bcd7d82896f942481fe63":null,"_oembed_time_0858ffd7404bcd7d82896f942481fe63":null,"_oembed_4a2dd0ecf082a7c7d82731c06a644799":null,"_oembed_time_4a2dd0ecf082a7c7d82731c06a644799":null,"_oembed_8a1e46bc730cb21c1085d157ae6fa8b6":null,"_oembed_time_8a1e46bc730cb21c1085d157ae6fa8b6":null,"_oembed_cae7deb931d75f809e459e912e71429a":null,"_oembed_time_cae7deb931d75f809e459e912e71429a":null,"_oembed_6fcb4f8ab72abccda75674f71a946f97":null,"_oembed_time_6fcb4f8ab72abccda75674f71a946f97":null,"_oembed_7f0bfd584f844117a64fe73d83b43245":null,"_oembed_time_7f0bfd584f844117a64fe73d83b43245":null,"_oembed_d0aea105cffdf6e004979cf1e4f51e96":null,"_oembed_time_d0aea105cffdf6e004979cf1e4f51e96":null,"_oembed_e53b85b8766b3dc91338f6c1b95a2541":null,"_oembed_time_e53b85b8766b3dc91338f6c1b95a2541":null,"_oembed_48832be87b763046d232c1f2b5ac5fb3":null,"_oembed_time_48832be87b763046d232c1f2b5ac5fb3":null,"_oembed_32a9a34fcf91c466be9a08e1dba3c84e":null,"_oembed_time_32a9a34fcf91c466be9a08e1dba3c84e":null,"_oembed_fb50b2dc07acfa2418f00cdc2ad4c4c2":null,"_oembed_time_fb50b2dc07acfa2418f00cdc2ad4c4c2":null,"_oembed_3089e1d62f944a73b38c996e49abd2fc":null,"_oembed_time_3089e1d62f944a73b38c996e49abd2fc":null,"_oembed_1ecc99e75cf5d001c8da4f4d600703a8":null,"_oembed_time_1ecc99e75cf5d001c8da4f4d600703a8":null,"_oembed_b9c03ca24b382c17966861d251dc3b8d":null,"_oembed_time_b9c03ca24b382c17966861d251dc3b8d":null,"_wp_trash_meta_status":null,"_wp_trash_meta_time":null,"_wp_desired_post_slug":null,"_oembed_031755ba22f2b639d88c78254a99ff39":null,"_oembed_time_031755ba22f2b639d88c78254a99ff39":null,"description_de_la_ressource":null,"_description_de_la_ressource":null,"titre_du_fichier":null,"_titre_du_fichier":null,"_edit_last":null,"_edit_lock":null,"_wp_old_slug":null,"_top_nav_excluded":null,"_cms_nav_minihome":null,"inline_featured_image":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"_yoast_wpseo_wordproof_timestamp":null,"_wpml_media_duplicate":"1","_thumbnail_id":"219863","_wpml_media_featured":"1","_wpml_word_count":"{\"total\":1483,\"to_translate\":{\"en\":1483,\"fr\":1483,\"de\":1483,\"ja\":1483,\"es\":1483}}","_last_translation_edit_mode":null,"_last_editor_used_jetpack":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_wp_page_template":"default","_elementor_page_settings":null,"_elementor_data":null,"_elementor_page_assets":[],"_elementor_version":null,"_elementor_pro_version":null,"_elementor_elements_default_values":null,"_elementor_css":null,"_elementor_source":null,"_elementor_conditions":null,"_wpml_location_migration_done":null,"_elementor_controls_usage":null,"_elementor_screenshot_failed":null,"_elementor_screenshot":null,"_elementor_popup_display_settings":null,"_yoast_wpseo_primary_category":null,"_wp_old_date":null,"_elementor_template_widget_type":null,"_icl_lang_duplicate_of":null,"_yoast_wpseo_metadesc":"O m\u00e9todo Array.reduce(), \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa.","_yoast_wpseo_title":"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida | Le Wagon","contenu_de_larticle":"<div><strong><br>Array.reduce() - Entenda como funciona o m\u00e9todo reduce e aprenda como us\u00e1-lo para resolver problemas comuns do seu c\u00f3digo JavaScript!<br><\/strong><br><\/div><div>Assim como suas primas Array.filter() e Array.map(), Array.reduce() \u00e9 uma fun\u00e7\u00e3o iteradora que se popularizou no ECMAScript 6.<br><br><\/div><div>Fun\u00e7\u00e3o iteradora? Isso mesmo! Uma fun\u00e7\u00e3o iteradora \u00e9 aquela que, quando chamada, percorre todos os elementos de uma lista, executa uma regra para cada um desses elementos e, ao final, retorna alguma coisa.<\/div><div><br>Diferente de outros m\u00e9todos que nos permitem iterar sobre um array, reduce \u00e9 uma fun\u00e7\u00e3o bem mais flex\u00edvel que suas semelhantes. Isto porque ela pode retornar praticamente o que quisermos: um objeto, um novo array, um number, uma string...<\/div><div><br>Sua principal caracter\u00edstica&nbsp; \u00e9 reduzir (da\u00ed o nome) uma cole\u00e7\u00e3o a um \u00fanico elemento.<br><br><\/div><h2><strong>Array.reduce() e seus par\u00e2metros<\/strong><\/h2><div><br>Antes de explorar o verdadeiro poder desta fun\u00e7\u00e3o, vamos dar uma olhadinha na sua sintaxe:<br><br><\/div><div><em>array.reduce(callback(acumulador, elementoAtual, indice, arrayOriginal), valorInicial);<\/em><\/div><div><br>Destrinchando:<br><br><\/div><ul><li>Primeiro, chamamos a fun\u00e7\u00e3o reduce sobre um array com o \u2018.reduce\u2019, passando para ela seu primeiro argumento: uma fun\u00e7\u00e3o callback.<\/li><li>Esta fun\u00e7\u00e3o callback, por sua vez, espera receber quatro argumentos;&nbsp;<\/li><li>&nbsp;O A<em>cumulador<\/em>, que ser\u00e1 a vari\u00e1vel que armazenar\u00e1 o resultado de todas as nossas itera\u00e7\u00f5es e ser\u00e1, ao final, retornada;<\/li><li>O<em> elementoAtua<\/em>l que est\u00e1 sendo percorrido pela fun\u00e7\u00e3o na itera\u00e7\u00e3o;<\/li><li>O <em>\u00edndice<\/em> do elementoAtual (argumento opcional) e<\/li><li>O <em>arrayOriginal<\/em> sobre o qual o m\u00e9todo reduce est\u00e1 iterando (argumento opcional).<\/li><li>Terminamos a declara\u00e7\u00e3o da fun\u00e7\u00e3o callback e passamos para o reduce o valorInicial, seu segundo e \u00faltimo argumento.<\/li><\/ul><h2><strong>&nbsp;Array.reduce() na pr\u00e1tica!<\/strong><\/h2><div><br>Agora que conhecemos a assinatura do m\u00e9todo, chegou a hora de vermos como ele funciona na pr\u00e1tica! Para isso, come\u00e7aremos com um exemplo simples.<br><br><strong>Somando todos os valores em um array<\/strong><\/div><div><br>Abaixo temos um array de numbers cujos elementos desejamos somar:<br><br><\/div><div>const numbers = [10, 1, 2, 5];<\/div><div><br>&nbsp;Somaremos seus itens imprimindo no console o valor de cada vari\u00e1vel durante cada uma das itera\u00e7\u00f5es:<br><br><\/div><pre>numbers.reduce((acumulador, elementoAtual, indice, arrayOriginal) =&gt; {\n  console.log(`\u00edndice: ${indice}`);\n  console.log(`acumulador: ${acumulador}`);\n  console.log(`elemento atual: ${elementoAtual}`);\n  console.log(`array original: ${arrayOriginal}`);\n  return acumulador + elementoAtual;\n}, 0);<\/pre><div><br>Ao rodar o c\u00f3digo acima, o console nos retorna:<br><br><\/div><pre>\u00edndice: 0\nacumulador: 0\nelemento atual: 10\narray original: [10, 1, 2, 5]\n\u00edndice: 1\nacumulador: 10\nelemento atual: 1\narray original: [10, 1, 2, 5]\n\u00edndice: 2\nacumulador: 11\nelemento atual: 2\narray original: [10, 1, 2, 5]\n\u00edndice: 3\nacumulador: 13\nelemento atual: 5\narray original: [10, 1, 2, 5]\n18<\/pre><div><br>Podemos perceber que a vari\u00e1vel acumulador come\u00e7a com o valor 0 e, a cada itera\u00e7\u00e3o, \u00e9 acrescida pelo valor do elemento atual, conforme a regra que definimos em \u201creturn acumulador + elementoAtual\u201d.<br><br><\/div><div>Ap\u00f3s a \u00faltima itera\u00e7\u00e3o, a fun\u00e7\u00e3o retorna o valor \u201cacumulado\u201d na vari\u00e1vel acumulador, ou seja, 18.<\/div><div><br>O que aconteceria, no entanto, se n\u00e3o pass\u00e1ssemos o valor inicial como segundo argumento?<br><br><\/div><div>Vejamos o que o console nos retornar\u00e1:<br><br><\/div><div><br><\/div><pre>\u00edndice: 1\nacumulador: 10\nelemento atual: 1\narray original: [10, 1, 2 ,5]\n\u00edndice: 2\nacumulador: 11\nelemento atual: 2\narray original: [10, 1, 2, 5]\n\u00edndice: 3\nacumulador: 13\nelemento atual: 5\narray original: [10, 1, 2, 5]\n18<\/pre><div><br>Como podemos constatar, quando o valor inicial n\u00e3o \u00e9 fornecido, reduce executar\u00e1 a fun\u00e7\u00e3o callback come\u00e7ando pelo item com \u00edndice 1, ignorando, assim, o primeiro elemento do array. Por este motivo, a vari\u00e1vel acumulador assumir\u00e1, na primeira itera\u00e7\u00e3o, o valor do item com \u00edndice 0. Desse modo, o resultado retornado ao final permanecer\u00e1 o mesmo que o do exemplo anterior.<br><br><\/div><div>Nada muito mirabolante nem surpreendente at\u00e9 aqui, n\u00e3o \u00e9? Certamente poder\u00edamos fazer o mesmo com nosso velho forEach, da seguinte forma:<br><br><\/div><pre>let soma = 0;\nnumbers.forEach(number =&gt;  soma += number);\nreturn soma; <\/pre><div><br><\/div><h2><strong>Array.reduce() e suas maravilhas!<\/strong><\/h2><div><br>Veremos agora alguns exemplos de como utilizar o <strong>Array.reduce()<\/strong> para resolver problemas cotidianos do nosso c\u00f3digo!<br><br><\/div><h3><strong>Aplainando uma matriz<\/strong><\/h3><div><br><\/div><div>Lembra de quando falamos que reduce \u00e9 um m\u00e9todo bem mais flex\u00edvel que outros iteradores de array e que, por isso, pode retornar o que quisermos? \u00c9 justamente por esse motivo que ele pode fazer muito mais que apenas somar, multiplicar, subtrair ou dividir uma cole\u00e7\u00e3o de elementos ordenados.<\/div><div><br>Imaginemos, agora, um vetor bidimensional (um array de arrays)!<br><br><\/div><pre>const arrayDeArrays = [[\u201ca\u201d, 1], [\u201cb\u201d, 3], [\u201cc\u201d, 20]];<\/pre><div><br>Desejamos transform\u00e1-lo num vetor unidimensional. Com o m\u00e9todo reduce, podemos fazer isso de maneira simples!<br><br><\/div><pre>arrayDeArrays.reduce((acumulador, elementoAtual) =&gt; acumulador.concat(elementoAtual), [\u201cd\u201d, 3]);<\/pre><div><br>Acima, declaramos que, a cada itera\u00e7\u00e3o, a fun\u00e7\u00e3o callback deve executar o m\u00e9todo concat() sobre o atual estado de acumulador, recebendo como argumento o valor de elementoAtual. Definimos, ainda, o valor inicial de acumulador como sendo um array contendo dois elementos: \u201cd\u201d e 3.<br><br><\/div><div>&nbsp;N\u00e3o sabe o que \u00e9 o m\u00e9todo concat? \u00c9 simples! Ele nada mais faz que retornar um novo array, concatenando todos os valores passados como argumentos com os valores do array sobre o qual ele \u00e9 chamado.<\/div><div><br>&nbsp;Vamos simular a mudan\u00e7a de estado da fun\u00e7\u00e3o a cada itera\u00e7\u00e3o para vermos o que est\u00e1 acontecendo:&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br><br><\/div><pre>\u00edndice: 0\nacumulador: [\u201cd\u201d, 3]\nelemento atual: [\u201ca\u201d, 1]\narray original: [ [\u201ca\u201d, 1], [\u201cb\u201d, 3], [\u201cc\u201d, 20] ]\n\u00edndice: 1\nacumulador: [\u201cd\u201d, 3, \u201ca\u201d, 1]\nelemento atual: [\u201cb\u201d, 3]\narray original: [ [\u201ca\u201d, 1], [\u201cb\u201d, 3], [\u201cc\u201d, 20] ]\n\u00edndice: 2\nacumulador: [\u201cd\u201d, 3, \u201ca\u201d, 1, \u201cb\u201d, 3]\nelemento atual: [\u201cc\u201d, 20]\narray original: [ [\u201ca\u201d, 1], [\u201cb\u201d, 3], [\u201cc\u201d, 20] ]<\/pre><div><br><strong>Fim do loop!<\/strong><\/div><div><br><\/div><pre>Retorno final: [\u201cd\u201d, 3, \u201ca\u201d, 1, \u201cb\u201d, 3, \u201cc\u201d, 20]<\/pre><div><br>Legal, n\u00e9? Vamos agora para um exemplo um pouco mais complexo.<\/div><h3><strong>Agrupando objetos por suas propriedades<\/strong><\/h3><div>Imaginemos uma empresa com v\u00e1rios funcion\u00e1rios. Vamos supor, ent\u00e3o, que, nessa empresa, h\u00e1 gerentes, secret\u00e1rios, advogados e contadores. Veja abaixo como poder\u00edamos representar este cen\u00e1rio com um array de objetos:<br><br><\/div><pre>const funcionarios = [\n  {\n    nome: \u201cRoberto\u201d,\n    idade: 52,\n    fun\u00e7\u00e3o: \u201cger\u00eancia\u201d\n  },\n  {\n    nome: \u201cPedro\u201d,\n    idade: 25,\n    fun\u00e7\u00e3o: \u201ccontabilidade\u201d\n  },\n  {\n    nome: \u201c'Fl\u00e1via\u201d,\n    idade: 38,\n    fun\u00e7\u00e3o: \u201cadvocacia\u201d\n  },\n  {\n    nome: \u201cSandra\u201d,\n    idade: 27,\n    fun\u00e7\u00e3o: \u201ccontabilidade\u201d\n  },\n  {\n    nome: \u201cRafael\u201d,\n    idade: 21,\n    fun\u00e7\u00e3o: \u201csecretaria\u201d\n  }\n];<\/pre><div><br>Cada um dos objetos no array representa um funcion\u00e1rio com suas respectivas propriedades: nome, idade e fun\u00e7\u00e3o.<br><br><\/div><div>Vamos imaginar que, por algum motivo, precisemos organiz\u00e1-los de acordo com a fun\u00e7\u00e3o exercida. Vamos fazer isso criando uma fun\u00e7\u00e3o que usar\u00e1 nosso reduce!<br><br><\/div><pre>const agruparPor = (array, propriedade) =&gt; {\n  return array.reduce((objeto, elementoAtual) =&gt; {\n    const grupo = elementoAtual[propriedade];\n    if (!objeto.hasOwnProperty(grupo)) {\n      objeto[grupo] = [];\n    }\n    objeto[grupo].push(elementoAtual);\n    return objeto;\n  }, {})\n}<\/pre><div><br>O que est\u00e1 acontecendo aqui?<br><br><\/div><div>Primeiro, criamos uma fun\u00e7\u00e3o agruparPor com dois par\u00e2metros: o array sobre o qual desejamos iterar e a propriedade que servir\u00e1 como crit\u00e9rio para agruparmos nossos elementos.<br><br><\/div><pre>const agruparPor = (array, propriedade) =&gt; { ... }<\/pre><div><br>Definimos o retorno desta fun\u00e7\u00e3o como sendo o retorno da chamada do m\u00e9todo reduce sobre a vari\u00e1vel array. Perceba que reduce, aqui, recebe um objeto vazio como valor inicial.<br><br><\/div><pre>return array.reduce((objeto, elementoAtual) =&gt; { ... }, {});<\/pre><div><br>Como se trata de um array de objetos, armazenamos na vari\u00e1vel grupo o valor que usaremos para agrup\u00e1-los.<br><br><\/div><pre>const grupo = elementoAtual[propriedade];<\/pre><div><br>Depois, checamos se a \u201cvari\u00e1vel acumuladora\u201d objeto possui aquela propriedade. Caso n\u00e3o a possua, ordenamos que ela seja criada recebendo um array vazio como valor. Do contr\u00e1rio, se a fun\u00e7\u00e3o encontrar aquela propriedade no objeto, faremos um push do elementoAtual.<br><br><\/div><pre>if (!objeto.hasOwnProperty(grupo)) {\n  objeto[grupo] = [];\n}\n  objeto[grupo].push(elementoAtual);<\/pre><div><br>Por fim, retornamos a vari\u00e1vel objeto<br><br><\/div><pre>return objeto;<\/pre><div><br>Quando chamamos a fun\u00e7\u00e3o agruparPor passando o array funcion\u00e1rios e a string \u2018fun\u00e7\u00e3o\u2019 como argumentos, obtemos como retorno um objeto contendo nossos funcion\u00e1rios agrupados pela atividade exercida na empresa:<br><br><\/div><pre>console.log(agruparPor(funcionarios, \u201cfun\u00e7\u00e3o\u201d));\n{\n  ger\u00eancia: [ { nome: 'Roberto', idade: 52, 'fun\u00e7\u00e3o': 'ger\u00eancia' } ],\n  contabilidade: [ { nome: 'Pedro', idade: 25, 'fun\u00e7\u00e3o': 'contabilidade' }, { nome: 'Sandra', idade: 27, 'fun\u00e7\u00e3o': 'contabilidade' } ],\n  advocacia: [ { nome: 'Fl\u00e1via', idade: 38, 'fun\u00e7\u00e3o': 'advocacia' } ],\n  secretaria: [ { nome: 'Rafael', idade: 21, 'fun\u00e7\u00e3o': 'secretaria' } ]\n}<\/pre><div><br><\/div><h3><strong>Gerando HTML dinamicamente<\/strong><\/h3><div><br>Ok, mas e se, em vez de apenas agruparmos nossos funcion\u00e1rios em um objeto, quis\u00e9ssemos gerar uma lista em HTML com seus nomes e fun\u00e7\u00f5es? Podemos fazer isso passando para nosso reduce o valor inicial de uma string vazia (\u201c\u201d) e trabalhando com seu par\u00e2metro acumulador, que chamaremos de html. Vejamos:<br><br><\/div><div><br><\/div><pre>const geraListaHTML = (array) =&gt; {\n  return \"&lt;ul&gt;\" + array.reduce((html, elementoAtual) =&gt; {\n    html += `&lt;li&gt;nome: ${elementoAtual[\u201cnome\u201d]}, fun\u00e7\u00e3o: ${elementoAtual[\u201cfun\u00e7\u00e3o\u201d]}&lt;\/li&gt;`;\n    return html;\n  }, \u201c\u201d) + \"&lt;\/ul&gt;\"\n}\nconsole.log(geraListaHTML(funcionarios));<\/pre><div><br>E voil\u00e0, o resultado!<br><br><\/div><pre>\"&lt;ul&gt;\n     &lt;li&gt;nome: Roberto, fun\u00e7\u00e3o: gerencia&lt;\/li&gt;\n     &lt;li&gt;nome: Pedro, fun\u00e7\u00e3o: contabilidade&lt;\/li&gt;\n     &lt;li&gt;nome: Fl\u00e1via, fun\u00e7\u00e3o: advocacia&lt;\/li&gt;\n     &lt;li&gt;nome: Sandra, fun\u00e7\u00e3o: contabilidade&lt;\/li&gt;\n     &lt;li&gt;nome: Rafael, fun\u00e7\u00e3o: secretaria&lt;\/li&gt;\n&lt;\/ul&gt;\"<\/pre><div><br><br>Gostou?<br><br><\/div><div>N\u00e3o \u00e9 exagero dizer que <strong>Array.reduce()<\/strong> se tornou uma das minhas fun\u00e7\u00f5es favoritas em JavaScript. Atualmente, o m\u00e9todo \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa. Como toda ferramenta em programa\u00e7\u00e3o, reduce \u00e9 uma carta na manga que, se utilizada da maneira adequada, pode contribuir para melhorar a legibilidade, tamanho e performance do seu c\u00f3digo!<br><br><\/div><div><br><br><\/div>","_contenu_de_larticle":null,"titre_de_la_banniere":null,"_titre_de_la_banniere":null,"paragraphe_de_la_banniere":null,"_paragraphe_de_la_banniere":null,"intitule_du_bouton_de_la_banniere":null,"_intitule_du_bouton_de_la_banniere":null,"lien_du_bouton_de_la_banniere":null,"_lien_du_bouton_de_la_banniere":null,"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida | Le Wagon<\/title>\n<meta name=\"description\" content=\"O m\u00e9todo Array.reduce(), \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida | Le Wagon\" \/>\n<meta property=\"og:description\" content=\"O m\u00e9todo Array.reduce(), \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Le Wagon\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-21T22:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.lewagon.com\/wp-content\/uploads\/2023\/03\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg\" \/>\n<meta name=\"author\" content=\"MickaelT\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida | Le Wagon\" \/>\n<meta name=\"twitter:description\" content=\"O m\u00e9todo Array.reduce(), \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blog.lewagon.com\/wp-content\/uploads\/2023\/03\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"MickaelT\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/skills\\\/array-reduce-aprenda-usar-metodo-javascript\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/skills\\\/array-reduce-aprenda-usar-metodo-javascript\\\/\"},\"author\":{\"name\":\"MickaelT\",\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/8b4567040d8a3520451362bb71ea09e6\"},\"headline\":\"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida\",\"datePublished\":\"2020-08-21T22:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/skills\\\/array-reduce-aprenda-usar-metodo-javascript\\\/\"},\"wordCount\":13,\"publisher\":{\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/skills\\\/array-reduce-aprenda-usar-metodo-javascript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/blog.lewagon.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg?fit=640%2C427&ssl=1\",\"keywords\":[\"Web\"],\"articleSection\":[\"Skills\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/skills\\\/array-reduce-aprenda-usar-metodo-javascript\\\/\",\"url\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/skills\\\/array-reduce-aprenda-usar-metodo-javascript\\\/\",\"name\":\"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida | Le Wagon\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/skills\\\/array-reduce-aprenda-usar-metodo-javascript\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/skills\\\/array-reduce-aprenda-usar-metodo-javascript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/blog.lewagon.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg?fit=640%2C427&ssl=1\",\"datePublished\":\"2020-08-21T22:00:00+00:00\",\"description\":\"O m\u00e9todo Array.reduce(), \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/skills\\\/array-reduce-aprenda-usar-metodo-javascript\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/skills\\\/array-reduce-aprenda-usar-metodo-javascript\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/skills\\\/array-reduce-aprenda-usar-metodo-javascript\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/blog.lewagon.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg?fit=640%2C427&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/blog.lewagon.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg?fit=640%2C427&ssl=1\",\"width\":640,\"height\":427},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/skills\\\/array-reduce-aprenda-usar-metodo-javascript\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Skills\",\"item\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/.\\\/skills\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/#website\",\"url\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/\",\"name\":\"Le Wagon\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/#organization\",\"name\":\"Le Wagon\",\"url\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blog.lewagon.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/logo.svg\",\"contentUrl\":\"https:\\\/\\\/blog.lewagon.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/logo.svg\",\"width\":172,\"height\":44,\"caption\":\"Le Wagon\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/8b4567040d8a3520451362bb71ea09e6\",\"name\":\"MickaelT\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/627722b9f4aaa9f24735f9b8656525ab01111fb2c94de91dc70c9c1bffb90e7b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/627722b9f4aaa9f24735f9b8656525ab01111fb2c94de91dc70c9c1bffb90e7b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/627722b9f4aaa9f24735f9b8656525ab01111fb2c94de91dc70c9c1bffb90e7b?s=96&d=mm&r=g\",\"caption\":\"MickaelT\"},\"sameAs\":[\"http:\\\/\\\/blog.lewagon.com\"],\"url\":\"https:\\\/\\\/blog.lewagon.com\\\/pt-br\\\/author\\\/mickaelt\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida | Le Wagon","description":"O m\u00e9todo Array.reduce(), \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/","og_locale":"pt_BR","og_type":"article","og_title":"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida | Le Wagon","og_description":"O m\u00e9todo Array.reduce(), \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa.","og_url":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/","og_site_name":"Blog Le Wagon","article_published_time":"2020-08-21T22:00:00+00:00","og_image":[{"url":"https:\/\/blog.lewagon.com\/wp-content\/uploads\/2023\/03\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg","type":"","width":"","height":""}],"author":"MickaelT","twitter_card":"summary_large_image","twitter_title":"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida | Le Wagon","twitter_description":"O m\u00e9todo Array.reduce(), \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa.","twitter_image":"https:\/\/blog.lewagon.com\/wp-content\/uploads\/2023\/03\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg","twitter_misc":{"Escrito por":"MickaelT"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/#article","isPartOf":{"@id":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/"},"author":{"name":"MickaelT","@id":"https:\/\/blog.lewagon.com\/pt-br\/#\/schema\/person\/8b4567040d8a3520451362bb71ea09e6"},"headline":"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida","datePublished":"2020-08-21T22:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/"},"wordCount":13,"publisher":{"@id":"https:\/\/blog.lewagon.com\/pt-br\/#organization"},"image":{"@id":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blog.lewagon.com\/wp-content\/uploads\/2023\/04\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg?fit=640%2C427&ssl=1","keywords":["Web"],"articleSection":["Skills"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/","url":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/","name":"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida | Le Wagon","isPartOf":{"@id":"https:\/\/blog.lewagon.com\/pt-br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/#primaryimage"},"image":{"@id":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blog.lewagon.com\/wp-content\/uploads\/2023\/04\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg?fit=640%2C427&ssl=1","datePublished":"2020-08-21T22:00:00+00:00","description":"O m\u00e9todo Array.reduce(), \u00e9 suportado pela grande maioria dos browsers e pode te poupar implementa\u00e7\u00f5es mais complicadas e menos perform\u00e1ticas para realizar a mesma tarefa.","breadcrumb":{"@id":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/#primaryimage","url":"https:\/\/i0.wp.com\/blog.lewagon.com\/wp-content\/uploads\/2023\/04\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg?fit=640%2C427&ssl=1","contentUrl":"https:\/\/i0.wp.com\/blog.lewagon.com\/wp-content\/uploads\/2023\/04\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg?fit=640%2C427&ssl=1","width":640,"height":427},{"@type":"BreadcrumbList","@id":"https:\/\/blog.lewagon.com\/pt-br\/skills\/array-reduce-aprenda-usar-metodo-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.lewagon.com\/pt-br\/"},{"@type":"ListItem","position":2,"name":"Skills","item":"https:\/\/blog.lewagon.com\/pt-br\/.\/skills\/"},{"@type":"ListItem","position":3,"name":"Array.reduce(): Aprenda como esse m\u00e9todo de Javascript vai facilitar a vida"}]},{"@type":"WebSite","@id":"https:\/\/blog.lewagon.com\/pt-br\/#website","url":"https:\/\/blog.lewagon.com\/pt-br\/","name":"Le Wagon","description":"","publisher":{"@id":"https:\/\/blog.lewagon.com\/pt-br\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.lewagon.com\/pt-br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/blog.lewagon.com\/pt-br\/#organization","name":"Le Wagon","url":"https:\/\/blog.lewagon.com\/pt-br\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/blog.lewagon.com\/pt-br\/#\/schema\/logo\/image\/","url":"https:\/\/blog.lewagon.com\/wp-content\/uploads\/2023\/02\/logo.svg","contentUrl":"https:\/\/blog.lewagon.com\/wp-content\/uploads\/2023\/02\/logo.svg","width":172,"height":44,"caption":"Le Wagon"},"image":{"@id":"https:\/\/blog.lewagon.com\/pt-br\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/blog.lewagon.com\/pt-br\/#\/schema\/person\/8b4567040d8a3520451362bb71ea09e6","name":"MickaelT","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/627722b9f4aaa9f24735f9b8656525ab01111fb2c94de91dc70c9c1bffb90e7b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/627722b9f4aaa9f24735f9b8656525ab01111fb2c94de91dc70c9c1bffb90e7b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/627722b9f4aaa9f24735f9b8656525ab01111fb2c94de91dc70c9c1bffb90e7b?s=96&d=mm&r=g","caption":"MickaelT"},"sameAs":["http:\/\/blog.lewagon.com"],"url":"https:\/\/blog.lewagon.com\/pt-br\/author\/mickaelt\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/blog.lewagon.com\/wp-content\/uploads\/2023\/04\/sugjttdtkv1eckkloeqqpaowhhyp.jpeg?fit=640%2C427&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.lewagon.com\/pt-br\/wp-json\/wp\/v2\/posts\/219862","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.lewagon.com\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.lewagon.com\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.lewagon.com\/pt-br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.lewagon.com\/pt-br\/wp-json\/wp\/v2\/comments?post=219862"}],"version-history":[{"count":0,"href":"https:\/\/blog.lewagon.com\/pt-br\/wp-json\/wp\/v2\/posts\/219862\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.lewagon.com\/pt-br\/wp-json\/wp\/v2\/media\/219863"}],"wp:attachment":[{"href":"https:\/\/blog.lewagon.com\/pt-br\/wp-json\/wp\/v2\/media?parent=219862"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.lewagon.com\/pt-br\/wp-json\/wp\/v2\/categories?post=219862"},{"taxonomy":"type_de_post","embeddable":true,"href":"https:\/\/blog.lewagon.com\/pt-br\/wp-json\/wp\/v2\/type_de_post?post=219862"},{"taxonomy":"post-format","embeddable":true,"href":"https:\/\/blog.lewagon.com\/pt-br\/wp-json\/wp\/v2\/post-format?post=219862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}