Artigo original: Push into an Array in JavaScript – How to Insert an Element into an Array in JS

O array é um dos tipos de dados mais utilizados ​​quando estamos trabalhando com uma lista ordenada de valores.

Cada valor é referido como um elemento com um id único. Ele armazena elementos de vários tipos de dados, que você pode acessar por meio de uma única variável.

Na prática, um array pode conter uma lista de usuários. Podemos precisar adicionar um ou mais de um elemento ao array após o último elemento, antes do primeiro elemento ou em qualquer ponto específico do nosso array.

Este artigo mostrará como inserir um elemento em um array usando o JavaScript. Caso você esteja com pressa, aqui estão os métodos que discutiremos detalhadamente neste artigo:

// Adicionar ao início de um array
Array.unshift(elemento);

// Adicionar ao final de um array
Array.push(elemento);

// Adicionar em uma posição especificada
Array.splice(posicao_inicial, 0, novo_elemento...);

// Adicionar com o método concat sem alterar o array original
let novoArray = [].concat(array, elemento);
  • Se você quiser adicionar um elemento no final do seu array, use o método push().
  • Se você precisar adicionar um elemento no início do seu array, use o método unshift().
  • Se você deseja adicionar um elemento em uma posição específica do seu array, use o método splice().
  • Por fim, se você quiser manter seu array original, pode usar o método concat().

Como inserir no início de um array com o método unshift()

Em JavaScript, você usa o método unshift() para adicionar um ou mais elementos no início de um array e ele retorna o comprimento do array após a adição dos novos elementos.

Por exemplo, se tivermos um array de países e se quisermos adicionar um país antes de "Nigéria", que é atualmente o primeiro índice, 0, podemos fazer isso com o método unshift(), conforme mostrado abaixo:

const paises = ["Nigéria", "Gana", "Ruanda"];

paises.unshift("Quênia");

console.log(paises); // ["Quênia","Nigéria", "Gana", "Ruanda"]

Como dissemos, também podemos adicionar mais de um elemento usando o unshift():

const paises = ["Nigéria", "Gana", "Ruanda"];

paises.unshift("África do Sul", "Mali", "Quênia");

console.log(paises); // ["África do Sul", "Mali", "Quênia","Nigéria", "Gana", "Ruanda"]

Em nossa explicação do método unshift(), também afirmamos que ele retorna o comprimento do novo array, o que é verdade:

const paises= ["Nigéria", "Gana", "Ruanda"];

let paisesComprimento = paises.unshift("África do Sul", "Mali", "Quênia");
console.log(paisesComprimento); // 6

Como inserir no final de um array com o método push()

O método push() é semelhante ao unshift(), só que adiciona um elemento no final de um array ao invés de no início. Ele também retorna o comprimento do novo array e, igual ao unshift(), pode ser usado para adicionar mais de um elemento ao mesmo tempo.

Faremos o mesmo exemplo, só que desta vez adicionando no final do array usando o método push():

const paises= ["Nigéria", "Gana", "Ruanda"];
paises.push("Quênia");
console.log(paises); // ["Nigéria", "Gana", "Ruanda","Quênia"]
paises.push("África do Sul", "Mali");
console.log(paises); // ["Nigéria", "Gana", "Ruanda"

Como dissemos, podemos usá-lo para obter o comprimento do novo array:

const paises = ["Nigéria", "Gana", "Ruanda"];
let paisesComprimento = paises.push("Quênia");
console.log(paisesComprimento)

Como inserir em uma posição específica do array com o método splice()

Até agora, vimos apenas como adicionar um elemento no início ou no final de um array. Você pode, no entanto, se perguntar como adicionar um elemento em uma posição especifica do array. Bem, você pode fazer isso com o método splice().

O splice() é um método de propósito geral usado para alterar o conteúdo de um array, removendo, substituindo ou adicionando elementos em posições especificas do array. Esta seção abordará como usar esse método para adicionar um elemento em uma posição especifica.

Por exemplo, considere o seguinte array de países, que contém três elementos (países) organizados em ordem alfabética:

const paises = ["Gana", "Quênia", "Ruanda"];

Suponha que queremos adicionar o elemento "Nigéria", que, de acordo com a ordem alfabética, deve ser colocado na segunda posição, no índice 1 (depois de Gana e antes do Quênia). Nesse caso, usaremos o método splice() com a seguinte sintaxe:

Array.splice(posicao_inicial, 0, novo_elemento...);
  • A posicao_inicial especifica o índice de onde queremos que o novo elemento seja inserido no array. Se houver vários elementos, ele especifica onde os elementos inseridos começarão.
  • Se quisermos somente adicionar ao array, definimos o segundo argumento como zero (0), instruindo o método splice() a não excluir nenhum elemento do array.
  • Os parâmetros ou elementos seguintes (um ou mais de um) são os elementos que queremos adicionar ao array na posição especificada.

Para colocar "Nigéria" depois de "Gana" em nosso array de países, escreveríamos isto:

const paises = ["Gana", "Quênia", "Ruanda"];

paises.splice(1, 0, "Nigéria");

console.log(paises); // ["Gana","Nigéria", "Quênia", "Ruanda"]
array-1

Assim como fizemos em outros métodos, também podemos adicionar mais de um elemento:

const paises = ["Gana", "Quênia", "Ruanda"];
paises.splice(1, 0, "Mali", "Nigéria");
console.log(paises); // ["Gana","Mali","Nigéria","Quênia","Ruanda"]

Observe que os métodos anteriores retornaram o comprimento do novo array, já esse método altera o array original. Por ele não ter removido nenhum elemento, retorna um array vazio.

Como inserir elementos em um array com o método concat()

Podemos usar o método concat() para adicionar elementos em um array sem mudar ou alterar o array original. Ao invés disso, criamos um novo array, que é um método melhor quando não quisermos que o array original seja alterado.

Podemos usar esse método para adicionar elementos no início ou no final do array, de acordo como ordenamos os elementos:

const paises = ["Gana", "Nigéria", "Ruanda"];
let novoPaises = [].concat("Mali", paises, "Quênia");
console.log(novoPaises)

O método concat() também nos permite juntar dois (ou mais) arrays em um único novo array:

const paisesAfricanos = ["Gana", "Nigéria", "Ruanda"];
const paisesEuropeus = ["Alemanha", "França", "Espanha"];

let paises = [].concat(paisesAfricanos, paisesEuropeus);

console.log(paises); // ["Gana","Nigéria","Ruanda","Alemanha", "França", "Espanha"]

Conclusão

Neste artigo, aprendemos várias formas de inserir elementos em um array – no início, no final ou em qualquer posição – usando o método splice().

Também aprendemos que o método concat() nos permite inserir elementos sem alterar o array original.

Use para isso o método que atender às suas necessidades.

Boa programação para você!