Método splice
O método splice remove ou adiciona
elementos em um array. Você pode apenas remover elementos,
apenas adicionar elementos ou fazer ambos
ao mesmo tempo. O método é muito versátil e
complexo de entender.
O método modifica o próprio array e retorna
um array com os elementos removidos.
O primeiro parâmetro do método é o índice do elemento
do array que deve ser removido. O segundo parâmetro
- quantos elementos do array devem ser removidos.
Se for definido como 0 - nenhum elemento será removido
(apenas novos elementos serão adicionados).
Em seguida, separados por vírgulas, estão os elementos que
devem ser adicionados ao array (são parâmetros opcionais).
Esses elementos serão adicionados no lugar dos
elementos removidos do array.
Se não houve remoção (quando o segundo parâmetro é
0) - os elementos serão inseridos no array começando
na posição especificada pelo primeiro parâmetro do
método. O primeiro parâmetro pode ter um valor negativo.
Neste caso, a contagem da posição começará
não do início do array, mas do final. O último elemento
terá o índice -1.
Sintaxe
array.splice(índiceInicial, quantidadeParaRemover, [elemento1], [elemento2], ...);
Exemplo
Vamos remover três elementos, começando do primeiro:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(1, 3);
console.log(arr);
Resultado da execução do código:
['a', 'e']
Exemplo
Vamos exibir o array de elementos removidos:
let arr = ['a', 'b', 'c', 'd', 'e'];
let del = arr.splice(1, 3);
console.log(del);
Resultado da execução do código:
['b', 'c', 'd']
Exemplo
Vamos primeiro remover o elemento com índice
2, e depois em seu lugar inserir mais
três novos elementos:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1, '1', '2', '3');
console.log(arr);
Resultado da execução do código:
['a', 'b', '1', '2', '3', 'd', 'e']
Exemplo
Agora vamos não remover nada, mas
na posição 2, inserir mais três novos
elementos:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 0, '1', '2', '3');
console.log(arr);
Resultado da execução do código:
['a', 'b', '1', '2', '3', 'c', 'd', 'e']
Exemplo . Valor negativo
Vamos remover o penúltimo elemento:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(-2, 1);
console.log(arr);
Resultado da execução do código:
['a', 'b', 'c', 'e']