Como adicionar um elemento a um array em JavaScript? Análise completa com exemplos
\n\nVocê está escrevendo código em JavaScript e de repente surge a pergunta: "Como adicionar um novo elemento ao final do array? E no início? E talvez no meio?". Se você já pesquisou "How to append something to an array?" — você não está sozinho. Esta pergunta no Stack Overflow acumulou milhares de visualizações, e hoje vamos resolvê-la de uma vez por todas.
\n\nArrays são a base do trabalho com dados em JS. Saber como adicionar elementos de forma rápida e correta economizará horas de depuração e tornará seu código mais limpo. Neste tutorial, mostrarei 5 maneiras de adicionar um elemento a um array, desde o clássico push() até o moderno operador spread. Vamos lá!
1. Método push(): adicionando ao final do array
\n\nA maneira mais popular. push() adiciona um ou mais elementos ao final do array e retorna o novo comprimento.
const fruits = ['maçã', 'banana'];\nconst newLength = fruits.push('laranja');\n\nconsole.log(fruits); // ['maçã', 'banana', 'laranja']\nconsole.log(newLength); // 3\n\n\nVocê pode adicionar vários elementos de uma vez:
\n\nfruits.push('pera', 'uva');\nconsole.log(fruits);\n// ['maçã', 'banana', 'laranja', 'pera', 'uva']\n\n\nQuando usar: quando você precisa adicionar dados ao final de uma lista — por exemplo, um novo produto no carrinho, uma mensagem no chat, uma entrada no log. O método é rápido (O(1)) e modifica o array original.
\n\n2. Método unshift(): adicionando ao início do array
\n\nSe precisar inserir um elemento no início, use unshift(). Ele desloca todos os elementos existentes para a direita.
const numbers = [2, 3, 4];\nnumbers.unshift(1);\n\nconsole.log(numbers); // [1, 2, 3, 4]\n\n\nFunciona também com vários elementos:
\n\nnumbers.unshift(-1, 0);\nconsole.log(numbers); // [-1, 0, 1, 2, 3, 4]\n\n\nImportante: unshift() é mais lento que push() para arrays grandes, porque precisa deslocar todos os elementos. Se o array contiver 100.000 elementos — é melhor considerar outra estrutura de dados (por exemplo, fila com deque).
3. Método splice(): inserindo em qualquer posição
\n\nO canivete suíço. splice() pode remover, substituir e, claro, adicionar elementos em qualquer posição do array.
Sintaxe: array.splice(start, deleteCount, item1, item2, ...)
- \n
start— índice a partir do qual começamos \n deleteCount— quantos elementos remover (defina 0 se for apenas adicionar) \n item1, item2, ...— elementos para inserir \n
Exemplo: inserir "cereja" na segunda posição (índice 1):
\n\nconst colors = ['vermelho', 'azul', 'verde'];\ncolors.splice(1, 0, 'cereja');\n\nconsole.log(colors);\n// ['vermelho', 'cereja', 'azul', 'verde']\n\n\nVocê pode inserir vários elementos de uma vez:
\n\nconst letters = ['a', 'd'];\nletters.splice(1, 0, 'b', 'c');\n\nconsole.log(letters); // ['a', 'b', 'c', 'd']\n\n\nQuando usar: quando você precisa inserir um elemento exatamente no meio do array — por exemplo, adicionar um novo item de menu entre os existentes. Lembre-se: splice() modifica o array.
4. Método concat(): criando um novo array
\n\nAo contrário dos métodos anteriores, concat() não altera o array original, mas retorna um novo, combinando dois ou mais arrays (ou elementos).
const arr1 = [1, 2, 3];\nconst arr2 = [4, 5];\nconst result = arr1.concat(arr2);\n\nconsole.log(result); // [1, 2, 3, 4, 5]\nconsole.log(arr1); // [1, 2, 3] — não foi alterado\n\n\nVocê pode adicionar não apenas arrays, mas também valores individuais:
\n\n