Você sabe como unir vetores?
Este artigo mostrará duas maneiras de unir vetores e retornar um novo vetor.
Serão utilizados os operadores Spread e Concat.
// Duas formas de unir vetores
const circ = [‘círculo’, ‘esfera’];
const quadr = [‘quadrado’, ‘cubo’];
// Usando o Concat para unir os vetores:
cons unirVet = [].concat(circ, quadr);
// Usando o Spread para unir os vetores:
const unirSpread = [...circ, ...quadr];
// E o resultado será:
console.log(unirSpread);
// [‘círculo’, ‘esfera’, ‘quadrado’, ‘cubo’]
Você também pode escrever o método Concat deste modo:
const circ = [‘círculo’, ‘esfera’];
const quadr = [‘quadrado’, ‘cubo’];
const unirVetor = circ.concat(quadr);
console.log(unirVetor);
E o resultado será:
// [‘círculo’, ‘esfera’, ‘quadrado’, ‘cubo’]
console.log(circ); // [‘círculo’, ‘esfera’];
console.log(quadr); // [‘quadrado’, ‘cubo’];
Este modo não altera o vetor existente.
Comparando os dois modos do concat:
// Versão 1
cons unirVet = [].concat(circ, quadr);
// Versão 2
const unirVetor = circ.concat(quadr);
A versão 1 cria uma nova matriz e não manipula uma matriz existente. Visualmente falando, a versão 2 parece adicionar a matriz de quadrados à matriz de círculos.
A diferença entre Spread e Concat:
Spread:
O Spread quebra um array ou uma string em múltiplos elementos. Se você possui um array e quer criar um array com o existente fazendo parte dele, você pode usar o Spread.
let umaString = "Olá Mundo";
console.log(umaString); // exibe a string
console.log(...umaString); // exibe cada caracter
let umVetor = [11,22,33,44,55,66]; //cria um vetor
console.log(umVetor); // mostra conteúdo o vetor
console.log(...umVetor); // mostra o conteúdo de cada índice do vetor
Concat:
Já o Concat cria um novo vetor unindo os elementos que foram passados como parâmetro, não alterando a si mesmo ou aos argumentos passados, mas criando um novo vetor contendo uma cópia de si e dos argumentos.
A cópia é uma referência aos objetos. Se o objeto original for modificado, as mudanças serão visíveis no original e na cópia.
Strings e numbers (diferente dos objetos String e Number), o concat copia os valores de strings e numbers para o novo vetor, mas qualquer alteração no novo vetor não refletirá no original.
// Cria uma função que concatenará
// o vetor e a variável
function combinaVetor(vetor1, vetor2){
return [].concat(vetor1, vetor2);
}
// Crie um vetor
const ehVetor = ['carro', 'moto', 'onibus'];
// Crie uma variável
const notVetor = 7;
// Chamada da função
combinaVetor(ehVetor, notVetor);
// [“carro”, “moto”, “onibus”, 7]
Unindo arrays com Push:
Quando você utilizar o método Push, você não criará um novo array, mas sim manipulando um existente:
const meninos = ["joao", "josé"];
const meninas = ["maria", "vanessa"];
const alunos = meninos.push(...meninas);
console.log(alunos); //Quando você usa o push, ele retornará o tamanho do vetor unido.
console.log(meninos);
["joao", "josé", "maria", "vanessa"] // Retorna o vetor meninos modificado
console.log(meninas);
["maria", "vanessa"]
Gostou deste artigo? Comente abaixo e compartilhe com seus amigos!