{"id":48496,"date":"2024-04-08T09:12:18","date_gmt":"2024-04-08T12:12:18","guid":{"rendered":"https:\/\/www.locaweb.com.br\/blog\/?p=48496"},"modified":"2024-07-30T17:27:23","modified_gmt":"2024-07-30T20:27:23","slug":"foreach-javascript","status":"publish","type":"post","link":"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/foreach-javascript\/","title":{"rendered":"Javascript ForEach: o que \u00e9, como usar e sua sintaxe"},"content":{"rendered":"\n<p class=\"has-text-align-center\"><em>Entenda por que cada vez mais devs est\u00e3o recorrendo ao Javascript ForEach para manipular os elementos do array.<\/em><\/p>\n\n\n\n<p>O universo da programa\u00e7\u00e3o traz diversas estruturas que permitem trabalhar com repeti\u00e7\u00f5es. Uma delas \u00e9 o <strong>m\u00e9todo JavaScript ForEach<\/strong>.<\/p>\n\n\n\n<p><strong>Ele permite fazer com que uma determinada fun\u00e7\u00e3o seja aplicada em todos os <\/strong><a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/o-que-sao-arrays-em-javascript\/\"><strong>elementos do array<\/strong><\/a>. Dessa forma, n\u00e3o h\u00e1 a necessidade de escrever v\u00e1rias linhas de c\u00f3digo com essa finalidade.<\/p>\n\n\n\n<p>A seguir, falaremos um pouco mais sobre essa estrutura, al\u00e9m de mostrar situa\u00e7\u00f5es em que esse recurso \u00e9 uma boa alternativa. Confira!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><\/a><strong>O que \u00e9 JavaScript ForEach e como funciona?<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"812\" height=\"500\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-2.jpg\" alt=\"Desenvolvedor trabalhando em c\u00f3digo enquanto ouve m\u00fasica\" class=\"wp-image-48501\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-2.jpg 812w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-2-500x308.jpg 500w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-2-768x473.jpg 768w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-2-150x92.jpg 150w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><\/figure>\n\n\n\n<p><em>Programadores que decidem trabalhar com o JavaScript ForEach podem criar uma fun\u00e7\u00e3o que ser\u00e1 aplicada em diversos elementos.<\/em><\/p>\n\n\n\n<p>O <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/o-que-e-javascript\/\">JavaScript<\/a> ForEach \u00e9 uma a\u00e7\u00e3o que permite executar uma fun\u00e7\u00e3o para cada elemento, sejam eles arrays simples ou de objetos.<\/p>\n\n\n\n<p><strong>Eles funcionam em uma esp\u00e9cie de fila<\/strong>, em que o primeiro elemento \u00e9 o n\u00famero zero, o segundo o n\u00famero um e assim por diante.<\/p>\n\n\n\n<p>Ao organizar as informa\u00e7\u00f5es dessa forma, o m\u00e9todo percorre todos os elementos e executa uma a\u00e7\u00e3o para cada um.<\/p>\n\n\n\n<p>No entanto, <strong>nenhuma fun\u00e7\u00e3o \u00e9 executada caso um array esteja sem elementos<\/strong>.<\/p>\n\n\n\n<p>Outro ponto importante \u00e9 que <strong>o JavaScript ForEach executa uma fun\u00e7\u00e3o de callback para cada elemento no array<\/strong>.<\/p>\n\n\n\n<p>A fun\u00e7\u00e3o de callback \u00e9 fornecida pelo usu\u00e1rio e invocada uma vez para cada item no array, recebendo tr\u00eas argumentos: <strong>o valor do elemento, o \u00edndice do elemento e o pr\u00f3prio array<\/strong>.<\/p>\n\n\n\n<p>Veja o exemplo:<\/p>\n\n\n\n<p><em>const array = [1, 2, 3, 4, 5];<\/em><\/p>\n\n\n\n<p><em>array.forEach(function(element, index, array) {&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; console.log(`Elemento: ${element}, \u00cdndice: ${index}`);<\/em><\/p>\n\n\n\n<p><em>});<\/em><\/p>\n\n\n\n<p>Nesse caso, a fun\u00e7\u00e3o de callback recebe o elemento atual (element), o \u00edndice desse elemento (index) e o array completo (array).<\/p>\n\n\n\n<p>Dentro da fun\u00e7\u00e3o de callback, estamos apenas imprimindo o elemento e seu \u00edndice.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><\/a><strong>Vantagens de usar o JavaScript ForEach<\/strong><\/h2>\n\n\n\n<p>O JavaScript ForEach conta com uma s\u00e9rie de benef\u00edcios em suas aplica\u00e7\u00f5es, sendo um recurso importante na manipula\u00e7\u00e3o de informa\u00e7\u00f5es. Conhe\u00e7a alguns deles.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Legibilidade aprimorada<\/strong><\/h3>\n\n\n\n<p>Uma das principais vantagens do m\u00e9todo Javascript ForEach \u00e9 a <strong>melhoria na legibilidade do c\u00f3digo<\/strong>.<\/p>\n\n\n\n<p>Ao utiliz\u00e1-lo, o c\u00f3digo se torna mais claro e conciso. Por conta disso, <strong>o prop\u00f3sito da itera\u00e7\u00e3o \u00e9 explicitamente expresso<\/strong>, tornando-o facilmente compreens\u00edvel para outros desenvolvedores.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Sintaxe simples<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"812\" height=\"500\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-3-1.jpg\" alt=\"Desenvolvedora trabalhando com m\u00faltiplos monitores\" class=\"wp-image-48507\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-3-1.jpg 812w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-3-1-500x308.jpg 500w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-3-1-768x473.jpg 768w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-3-1-150x92.jpg 150w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><\/figure>\n\n\n\n<p><em>O uso do JavaScript ForEach oferece uma sintaxe simples e f\u00e1cil de entender.<\/em><\/p>\n\n\n\n<p>A sintaxe do JavaScript ForEach \u00e9 direta e f\u00e1cil de entender. <strong>N\u00e3o h\u00e1 necessidade de declara\u00e7\u00f5es de loop expl\u00edcitas ou manipula\u00e7\u00e3o de \u00edndices<\/strong>, o que torna o c\u00f3digo mais limpo e menos propenso a erros.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Evita problemas de escopo<\/strong><\/h3>\n\n\n\n<p>O m\u00e9todo ForEach tem seu pr\u00f3prio escopo de fun\u00e7\u00e3o. E o que isso significa?<\/p>\n\n\n\n<p><strong>Todas as vari\u00e1veis declaradas na fun\u00e7\u00e3o de callback est\u00e3o contidas apenas dentro dessa fun\u00e7\u00e3o<\/strong>.<\/p>\n\n\n\n<p>Isso evita potenciais conflitos de nome e problemas de escopo comuns em loops tradicionais.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Garante compatibilidade com navegadores<\/strong><\/h3>\n\n\n\n<p>O JavaScript ForEach faz parte do ECMAScript 5 e \u00e9 suportado por todos os principais navegadores modernos.<\/p>\n\n\n\n<p>No entanto, se a compatibilidade com browsers mais antigos for necess\u00e1ria, \u00e9 poss\u00edvel usar<a> <\/a>polyfills&nbsp;\u2014 c\u00f3digos que fornecem funcionalidades modernas a navegadores antigos \u2014 para adicionar suporte a vers\u00f5es anteriores do JavaScript.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><\/a><strong>Como usar o m\u00e9todo em JavaScript?<\/strong><\/h2>\n\n\n\n<p>Quem est\u00e1 interessado em trabalhar com o ForEach precisa saber que ele apresenta uma sintaxe b\u00e1sica e alguns par\u00e2metros definidos. Entender como esses elementos funcionam<strong> \u00e9 essencial para o sucesso de um projeto<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Sintaxe e par\u00e2metros<\/strong><\/h3>\n\n\n\n<p>A sintaxe b\u00e1sica para uso do ForEach \u00e9 a seguinte:<\/p>\n\n\n\n<p><em>array.forEach(function(element, index, array) {&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/ c\u00f3digo a ser executado para cada elemento<\/em><\/p>\n\n\n\n<p><em>});<\/em><\/p>\n\n\n\n<p>Os par\u00e2metros da fun\u00e7\u00e3o de callback s\u00e3o:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>element: <\/strong>o elemento atual sendo processado no array.<\/li>\n\n\n\n<li><strong>index (opcional)<\/strong>: \u00edndice do elemento atual que ser\u00e1 processado.<\/li>\n\n\n\n<li><strong>array (opcional)<\/strong>: array ao qual pertence o elemento atual.<\/li>\n<\/ul>\n\n\n\n<iframe width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/n3o9cZzrRj4?si=EFj3bP4UAFExTE7Q\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Exemplo de utiliza\u00e7\u00e3o<\/strong><\/h3>\n\n\n\n<p>Suponha que tenhamos um array de objetos representando produtos e, nesse m\u00e9todo, queremos imprimir o nome de cada um destes itens.<\/p>\n\n\n\n<p>Tomando por base a situa\u00e7\u00e3o acima, ter\u00edamos o seguinte cen\u00e1rio:<\/p>\n\n\n\n<p><em>const produtos = [&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp; { nome: &#8216;Camiseta&#8217;, preco: 20 },&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp; { nome: &#8216;Cal\u00e7a&#8217;, preco: 30 },&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp; { nome: &#8216;Meia&#8217;, preco: 5 }<\/em><\/p>\n\n\n\n<p><em>];<\/em><\/p>\n\n\n\n<p><em>produtos.forEach(function(produto) {&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp; console.log(produto.nome);<\/em><\/p>\n\n\n\n<p><em>});<\/em><\/p>\n\n\n\n<p>Nesse exemplo, estamos usando ForEach para iterar sobre cada objeto de produto no array produtos, al\u00e9m de imprimir o nome de cada um deles no m\u00e9todo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><\/a><strong>Fun\u00e7\u00f5es de array relacionadas<\/strong><\/h2>\n\n\n\n<p>Al\u00e9m do ForEach, <strong>existem outras fun\u00e7\u00f5es relacionadas<\/strong> que s\u00e3o frequentemente usadas em conjunto para manipula\u00e7\u00e3o de arrays, como veremos a seguir.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Reduce<\/strong><\/h3>\n\n\n\n<p>O m\u00e9todo reduce \u00e9 usado <strong>para reduzir os elementos de um array a um \u00fanico valor<\/strong>,aplicando uma fun\u00e7\u00e3o de callback a cada elemento.<\/p>\n\n\n\n<p>A aplica\u00e7\u00e3o seria a seguinte:<\/p>\n\n\n\n<p><em>const array = [1, 2, 3, 4, 5];<\/em><\/p>\n\n\n\n<p><em>const soma = array.reduce(function(total, elemento) {&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp; return total + elemento;<\/em><\/p>\n\n\n\n<p><em>}, 0);<\/em><\/p>\n\n\n\n<p><em>console.log(soma); \/\/ Sa\u00edda: 15<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Map<\/strong><\/h3>\n\n\n\n<p>J\u00e1 o m\u00e9todo map cria um novo array com os resultados da chamada de uma fun\u00e7\u00e3o de callback, <strong>retornando uma possibilidade para cada elemento do array<\/strong>.<\/p>\n\n\n\n<p><em>const numeros = [1, 2, 3, 4, 5];<\/em><\/p>\n\n\n\n<p><em>const dobrados = numeros.map(function(numero) {&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return numero * 2;<\/em><\/p>\n\n\n\n<p><em>});<\/em><\/p>\n\n\n\n<p><em>console.log(dobrados); \/\/ Sa\u00edda: [2, 4, 6, 8, 10]<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Filter<\/strong><\/h3>\n\n\n\n<p>Por sua vez, o m\u00e9todo filter cria um novo array com todos os elementos que passam no teste implementado pela fun\u00e7\u00e3o de callback fornecida.<\/p>\n\n\n\n<p>A visualiza\u00e7\u00e3o do <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/codigo-binario-perguntas-e-respostas-para-aprender\/\">c\u00f3digo<\/a> seria a seguinte:<\/p>\n\n\n\n<p><em>const numeros = [1, 2, 3, 4, 5];<\/em><\/p>\n\n\n\n<p><em>const pares = numeros.filter(function(numero) {&nbsp; return numero % 2 === 0;});console.log(pares); \/\/ Sa\u00edda: [2, 4]<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"812\" height=\"500\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-4.jpg\" alt=\"Desenvolvedor trabalhando em escrit\u00f3rio\" class=\"wp-image-48510\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-4.jpg 812w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-4-500x308.jpg 500w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-4-768x473.jpg 768w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/foreach-javascript-4-150x92.jpg 150w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><\/figure>\n\n\n\n<p><em>Programadores podem usar outras fun\u00e7\u00f5es relacionadas em seus projetos.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Formas de usar<\/strong><\/h2>\n\n\n\n<p>O JavaScript ForEach tem formas variadas de uso. Logo, <strong>a escolha ideal vai depender do escopo do projeto com o qual se est\u00e1 trabalhando<\/strong>, conforme veremos nos pr\u00f3ximos t\u00f3picos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>ForEach com array<\/strong><\/h3>\n\n\n\n<p><strong>O uso mais comum do ForEach \u00e9 com arrays<\/strong>, onde ele itera sobre cada elemento do array e executa uma opera\u00e7\u00e3o espec\u00edfica.<\/p>\n\n\n\n<p><em>const array = [1, 2, 3, 4, 5];<\/em><\/p>\n\n\n\n<p><em>array.forEach(function(elemento) {&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; console.log(elemento);<\/em><\/p>\n\n\n\n<p><em>});<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>ForEach com objeto<\/strong><\/h3>\n\n\n\n<p>Embora menos comum, o ForEach tamb\u00e9m<strong> pode ser usado com objetos JavaScript<\/strong>. Ao usar esse m\u00e9todo, ele itera sobre as chaves do objeto, conforme podemos ver a seguir:<\/p>\n\n\n\n<p><em>const objeto = { a: 1, b: 2, c: 3 };<\/em><\/p>\n\n\n\n<p><em>Object.keys(objeto).forEach(function(chave) {&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp; console.log(chave, objeto[chave]);<\/em><\/p>\n\n\n\n<p><em>});<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Loop infinito em ForEach<\/strong><\/h3>\n\n\n\n<p>\u00c9 importante proceder com cautela ao modificar o array dentro de um ForEach, pois este m\u00e9todo itera sobre cada elemento sem permitir uma interrup\u00e7\u00e3o direta.<\/p>\n\n\n\n<p>Caso a fun\u00e7\u00e3o de callback adicione elementos ao array durante a itera\u00e7\u00e3o, isso pode levar a um comportamento inesperado, incluindo a possibilidade de um loop infinito.<\/p>\n\n\n\n<p>Para evitar essas complica\u00e7\u00f5es, recomenda-se n\u00e3o alterar o array que est\u00e1 sendo percorrido pelo ForEach ou considerar o uso de outras estruturas de loop quando tais modifica\u00e7\u00f5es forem necess\u00e1rias.<\/p>\n\n\n\n<p>Isso poderia acontecer em um caso como o visto abaixo:<\/p>\n\n\n\n<p><em>const array = [1, 2, 3];<\/em><\/p>\n\n\n\n<p><em>array.forEach(function(elemento, indice, array) {&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array.push(4); \/\/ Isso resultar\u00e1 em um loop infinito<\/em><\/p>\n\n\n\n<p><em>});<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Outras alternativas<\/strong><\/h3>\n\n\n\n<p>Al\u00e9m dos m\u00e9todos j\u00e1 citados, o JavaScript ForEach conta com duas outras alternativas de uso: <strong>o For\u2026of Loop e o For Loop tradicional<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>For\u2026of Loop<\/strong><\/h4>\n\n\n\n<p>O loop for\u2026of \u00e9 uma alternativa ao ForEach para itera\u00e7\u00e3o sobre elementos de um array. O c\u00f3digo para ele seria o seguinte:<\/p>\n\n\n\n<p><em>const array = [1, 2, 3, 4, 5];<\/em><\/p>\n\n\n\n<p><em>for (let elemento of array) {&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp; console.log(elemento);<\/em><\/p>\n\n\n\n<p><em>}<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>For Loop tradicional<\/strong><\/h4>\n\n\n\n<p>O for loop tradicional tamb\u00e9m pode ser usado para itera\u00e7\u00e3o sobre elementos de um array, conforme podemos ver em seguida:<\/p>\n\n\n\n<p><em>const array = [1, 2, 3, 4, 5];<\/em><\/p>\n\n\n\n<p><em>for (let i = 0; i &lt; array.length; i++) {&nbsp;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; console.log(array[i]);<\/em><\/p>\n\n\n\n<p><em>}<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><\/a><strong>Casos em que n\u00e3o \u00e9 recomendado usar o ForEach<\/strong><\/h2>\n\n\n\n<p>Apesar de ser bastante difundido, <strong>h\u00e1 casos em que o ForEach pode n\u00e3o ser a melhor escolha<\/strong>, como veremos nos pr\u00f3ximos t\u00f3picos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Performance cr\u00edtica<\/strong><\/h3>\n\n\n\n<p>Para itera\u00e7\u00f5es extremamente grandes, <strong>o ForEach pode ser menos eficiente, em compara\u00e7\u00e3o com outras abordagens de itera\u00e7\u00e3o<\/strong>, como loops tradicionais.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Necessidade de interrup\u00e7\u00e3o<\/strong><\/h3>\n\n\n\n<p>O ForEach n\u00e3o permite interrup\u00e7\u00e3o, o que significa que <strong>n\u00e3o \u00e9 poss\u00edvel sair do loop prematuramente<\/strong>.<\/p>\n\n\n\n<p>Em certas situa\u00e7\u00f5es, pode ser necess\u00e1rio interromper a itera\u00e7\u00e3o antes de percorrer todos os elementos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Modifica\u00e7\u00e3o do array durante a itera\u00e7\u00e3o<\/strong><\/h3>\n\n\n\n<p>Modificar o array durante a itera\u00e7\u00e3o com ForEach <strong>pode levar a comportamentos inesperados ou, at\u00e9 mesmo, a um loop infinito<\/strong>, como mencionado anteriormente.<\/p>\n\n\n\t\t<div class=\"web-stories-list alignnone is-view-type-carousel is-style-default is-carousel\" data-id=\"1\">\n\t\t\t<div\n\t\t\tclass=\"web-stories-list__inner-wrapper carousel-1\"\n\t\t\tstyle=\"--ws-story-max-width:185px\"\n\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\tclass=\"web-stories-list__carousel carousel\"\n\t\t\t\t\tdata-id=\"carousel-1\"\n\t\t\t\t\tdata-prev=\"Voltar\"\n\t\t\t\t\tdata-next=\"Avan\u00e7ar\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\tclass=\"web-stories-list__story\"\n\t\t\t\tdata-wp-interactive=\"web-stories-block\"\n\t\t\t\tdata-wp-context='{\"instanceId\":1}'\t\t\t\tdata-wp-on--click=\"actions.open\"\n\t\t\t\tdata-wp-on-window--popstate=\"actions.onPopstate\"\n\t\t\t\t>\n\t\t\t\t\t\t\t<div class=\"web-stories-list__story-poster\">\n\t\t\t\t<a href=\"https:\/\/www.locaweb.com.br\/blog\/web-stories\/como-se-tornar-programador-mais-produtivo\/\" >\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/11\/como-se-tornar-um-programador-mais-produtivo.png\"\n\t\t\t\t\t\talt=\"5 dicas para melhorar sua carreira como programador!\"\n\t\t\t\t\t\twidth=\"185\"\n\t\t\t\t\t\theight=\"308\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/11\/como-se-tornar-um-programador-mais-produtivo.png 640w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/11\/como-se-tornar-um-programador-mais-produtivo-240x320.png 240w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/11\/como-se-tornar-um-programador-mais-produtivo-375x500.png 375w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/11\/como-se-tornar-um-programador-mais-produtivo-150x200.png 150w\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsizes=\"auto, (max-width: 640px) 100vw, 640px\"\n\t\t\t\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t\tdecoding=\"async\"\n\t\t\t\t\t>\n\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\t\t<div class=\"web-stories-list__story-content-overlay\">\n\t\t\t\t\t\t\t<div class=\"story-content-overlay__title\">\n\t\t\t\t\t5 dicas para melhorar sua carreira como programador!\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<div tabindex=\"0\" aria-label=\"Voltar\" class=\"glider-prev\"><\/div>\n\t\t\t\t\t<div tabindex=\"0\" aria-label=\"Avan\u00e7ar\" class=\"glider-next\"><\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\n\n\n<h2 class=\"wp-block-heading\"><a><\/a><strong>Como exercitar?<\/strong><\/h2>\n\n\n\n<p>Como em qualquer outro m\u00e9todo ou forma de programa\u00e7\u00e3o,<strong> o uso correto exige treino<\/strong>. Caso esteja interessado em praticar o JavaScript ForEach e outras fun\u00e7\u00f5es de array relacionadas, voc\u00ea pode:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Criar pequenos projetos que envolvam manipula\u00e7\u00e3o de arrays.<\/li>\n\n\n\n<li>Resolver exerc\u00edcios que exijam o uso de ForEach e outras fun\u00e7\u00f5es de array.<\/li>\n\n\n\n<li>Explorar documenta\u00e7\u00f5es e exemplos de c\u00f3digo para aprofundar seu entendimento e descobrir novas maneiras de usar esses m\u00e9todos.<\/li>\n<\/ul>\n\n\n\n<p>A pr\u00e1tica \u00e9 fundamental para dominar o uso eficaz do ForEach e outras funcionalidades de JavaScript.<\/p>\n\n\n\n<p>Por isso, <strong>n\u00e3o hesite em experimentar e explorar novas maneiras de aplicar esses conceitos em seus projetos<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><\/a><strong>Cria\u00e7\u00e3o de sites<\/strong><\/h2>\n\n\n\n<p>Uma das formas de aplicar o conceito do Javascript ForEach \u00e9 ao longo do processo de cria\u00e7\u00e3o de um site, seja ele feito com<a> <\/a><a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/python-matplotlib-conheca-a-biblioteca-de-visualizacao-de-dados\/\">Python<\/a>, <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/php\/\">PHP<\/a>&nbsp;ou qualquer outra linguagem de back-end.<\/p>\n\n\n\n<p>Voc\u00ea pode, por exemplo, us\u00e1-lo para percorrer os elementos de uma matriz (array) e executar uma fun\u00e7\u00e3o para cada elemento.<\/p>\n\n\n\n<p>O recurso tamb\u00e9m tende a ser empregado em outras frentes, quando falamos em desenvolvimento de sites.<\/p>\n\n\n\n<p>H\u00e1 at\u00e9 contextos em que \u00e9 poss\u00edvel usar <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/timestamp\/\">timestamp Javascript<\/a> em conjunto com o forEach para realizar opera\u00e7\u00f5es baseadas no tempo.<\/p>\n\n\n\n<p>A Locaweb oferece uma solu\u00e7\u00e3o completa para a <a href=\"https:\/\/www.locaweb.com.br\/hospedagem-de-sites-com-dominio-gratis\/\">hospedagem de sites<\/a>, garantindo tamb\u00e9m dom\u00ednio e <a href=\"https:\/\/www.locaweb.com.br\/ssl-locaweb\/\" target=\"_blank\" rel=\"noreferrer noopener\">certificado SSL<\/a> gr\u00e1tis por um ano. Confira as condi\u00e7\u00f5es.<a id=\"_msocom_1\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Entenda por que cada vez mais devs est\u00e3o recorrendo ao Javascript ForEach para manipular os elementos do array. O universo da programa\u00e7\u00e3o traz diversas estruturas que permitem trabalhar com repeti\u00e7\u00f5es. Uma delas \u00e9 o m\u00e9todo JavaScript ForEach. Ele permite fazer com que uma determinada fun\u00e7\u00e3o seja aplicada em todos os elementos do array. Dessa forma, [&hellip;]<\/p>\n","protected":false},"author":24,"featured_media":48500,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-48496","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-aberto"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/48496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/comments?post=48496"}],"version-history":[{"count":21,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/48496\/revisions"}],"predecessor-version":[{"id":49806,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/48496\/revisions\/49806"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media\/48500"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media?parent=48496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/categories?post=48496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/tags?post=48496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}