Método splice
El método splice elimina o agrega
elementos a un array. Se pueden eliminar elementos,
agregar elementos o hacer ambas cosas
simultáneamente. El método es muy versátil y
complejo de entender.
El método modifica el array original y devuelve
un array con los elementos eliminados.
El primer parámetro del método acepta el número del elemento
del array que se debe eliminar. El segundo parámetro
- cuántos elementos del array se deben eliminar.
Si se establece en 0 - no se eliminarán elementos
(solo se agregarán nuevos).
Luego, separados por comas, siguen los elementos que
se deben agregar al array (son parámetros opcionales).
Estos elementos se agregarán en lugar de
los elementos eliminados del array.
Si no hubo eliminación (cuando el segundo parámetro es
0) - los elementos se insertarán en el array comenzando
desde la posición especificada en el primer parámetro
del método. El primer parámetro puede tener un valor negativo.
En este caso, el conteo de la posición comenzará
no desde el inicio del array, sino desde el final. El último elemento
tendrá el número -1.
Sintaxis
array.splice(donde_eliminar, cuantos_eliminar, [insertar], [insertar]...);
Ejemplo
Eliminemos tres elementos, comenzando desde el primero:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(1, 3);
console.log(arr);
Resultado de la ejecución del código:
['a', 'e']
Ejemplo
Mostremos el array de elementos eliminados:
let arr = ['a', 'b', 'c', 'd', 'e'];
let del = arr.splice(1, 3);
console.log(del);
Resultado de la ejecución del código:
['b', 'c', 'd']
Ejemplo
Primero eliminemos el elemento con el número
2, y luego en su lugar insertemos otros
tres nuevos elementos:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1, '1', '2', '3');
console.log(arr);
Resultado de la ejecución del código:
['a', 'b', '1', '2', '3', 'd', 'e']
Ejemplo
Ahora no eliminemos nada, pero
en la posición 2, insertemos otros tres nuevos
elementos:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 0, '1', '2', '3');
console.log(arr);
Resultado de la ejecución del código:
['a', 'b', '1', '2', '3', 'c', 'd', 'e']
Ejemplo . Valor negativo
Eliminemos el penúltimo elemento:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(-2, 1);
console.log(arr);
Resultado de la ejecución del código:
['a', 'b', 'c', 'e']