7.1 Método splice()
Arrays em JavaScript oferecem métodos embutidos para manipulação de dados. Nesta aula, vamos ver quatro
métodos principais de arrays: splice()
, slice()
, concat()
e indexOf()
.
Cada um desses métodos realiza operações específicas em arrays e pode simplificar bastante o processamento de dados.
Método splice() altera o conteúdo de um array, removendo elementos existentes e/ou adicionando novos elementos em seu lugar.
Sintaxe:
splice (start, deleteCount, item1, item2, ...);
Onde:
start
: índice a partir do qual as alterações devem começardeleteCount
: quantidade de elementos a serem removidos. Se não especificado, todos os elementos a partir da posição start são removidositem1
,item2
,...
: elementos a serem adicionados no array. Se não especificado, não são adicionados elementos
Exemplo 1: Remoção de elementos
Neste exemplo, dois elementos são removidos do array fruits
, começando do índice 2
. O valor retornado é um array de elementos removidos.
let fruits = ['apple', 'banana', 'cherry', 'date', 'fig'];
let removed = fruits.splice(2, 2);
console.log(fruits); // Vai imprimir: ['apple', 'banana', 'fig']
console.log(removed); // Vai imprimir: ['cherry', 'date']
Exemplo 2: Adição de elementos
Neste exemplo, dois novos elementos (date
e fig
) são adicionados ao array fruits
começando
do índice 2
. Nenhum elemento é removido.
let fruits = ['apple', 'banana', 'cherry'];
fruits.splice(2, 0, 'date', 'fig');
console.log(fruits); // Vai imprimir: ['apple', 'banana', 'date', 'fig', 'cherry']
Exemplo 3: Substituição de elementos
Neste exemplo, o elemento no índice 1
(banana
) é substituído por dois novos elementos (date
e fig
).
let fruits = ['apple', 'banana', 'cherry'];
fruits.splice(1, 1, 'date', 'fig');
console.log(fruits); // Vai imprimir: ['apple', 'date', 'fig', 'cherry']
7.2 Método slice()
O método slice()
retorna um novo array contendo uma cópia de parte do array original. O array original não é alterado.
Sintaxe:
array.slice(begin, end);
Onde:
begin
: índice a partir do qual a cópia deve começarend
: índice até o qual copiar (sem incluir o elemento neste índice). Se não especificado, todos os elementos até o final do array são copiados
Exemplo 1: Copiando parte de um array
Neste exemplo, um novo array é criado contendo elementos de índice 1
a 2
do array fruits
.
let fruits = ['apple', 'banana', 'cherry', 'date', 'fig'];
let sliced = fruits.slice(1, 3);
console.log(sliced); // Vai imprimir: ['banana', 'cherry']
Exemplo 2: Copiando do início do array
Neste exemplo, um novo array é criado contendo elementos de índice 0
e 1
do array fruits
.
let fruits = ['apple', 'banana', 'cherry'];
let sliced = fruits.slice(0, 2);
console.log(sliced); // Vai imprimir: ['apple', 'banana']
Exemplo 3: Copiando até o final do array
Neste exemplo, um novo array é criado contendo elementos do índice 1
até o final do array fruits
.
let fruits = ['apple', 'banana', 'cherry'];
let sliced = fruits.slice(1);
console.log(sliced); // Vai imprimir: ['banana', 'cherry']
7.3 Método concat()
O método concat()
é usado para unir dois ou mais arrays. Ele retorna um novo array
contendo os elementos de todos os arrays concatenados.
Sintaxe:
array1.concat(array2, array3, ...);
Onde:
array1
,array2
,array3
,...
: arrays que devem ser unidos
Exemplo 1: Concatenando dois arrays
Neste exemplo, os arrays fruits1
e fruits2
são unidos em um novo array combined
.
let fruits1 = ['apple', 'banana'];
let fruits2 = ['cherry', 'date'];
let combined = fruits1.concat(fruits2);
console.log(combined); // Vai imprimir: ['apple', 'banana', 'cherry', 'date']
Exemplo 2: Concatenando múltiplos arrays
Neste exemplo, três arrays são unidos em um novo array combined
.
let fruits1 = ['apple', 'banana'];
let fruits2 = ['cherry', 'date'];
let fruits3 = ['fig', 'grape'];
let combined = fruits1.concat(fruits2, fruits3);
console.log(combined); // Vai imprimir: ['apple', 'banana', 'cherry', 'date', 'fig', 'grape']
Exemplo 3: Concatenando array com elementos
Neste exemplo, os elementos cherry
e date
são adicionados ao array fruits
para criar um novo array moreFruits
.
let fruits = ['apple', 'banana'];
let moreFruits = fruits.concat('cherry', 'date');
console.log(moreFruits); // Vai imprimir: ['apple', 'banana', 'cherry', 'date']
7.4 Método indexOf()
O método indexOf()
retorna o primeiro índice no qual um dado elemento pode ser encontrado no array,
ou -1
se o elemento não for encontrado.
Sintaxe:
array.indexOf(searchElement, fromIndex);
Onde:
searchElement
: elemento que deve ser encontradofromIndex
: índice a partir do qual começar a busca. Se não especificado, a busca começa do início do array
Exemplo 1: Buscando elemento no array
Neste exemplo, o método indexOf()
retorna o índice do elemento banana
no array fruits
.
let fruits = ['apple', 'banana', 'cherry'];
let index = fruits.indexOf('banana');
console.log(index); // Vai imprimir: 1
Exemplo 2: Elemento não encontrado
Neste exemplo, o método indexOf()
retorna -1
, pois o elemento date
não é encontrado no array fruits
.
let fruits = ['apple', 'banana', 'cherry'];
let index = fruits.indexOf('date');
console.log(index); // Vai imprimir: -1
Exemplo 3: Buscando elemento a partir de um índice específico
Neste exemplo, o método indexOf()
começa a busca do elemento banana
a partir do índice 2
e o encontra no índice 3
.
let fruits = ['apple', 'banana', 'cherry', 'banana'];
let index = fruits.indexOf('banana', 2);
console.log(index); // Vai imprimir: 3
GO TO FULL VERSION