El método splice()
cambia el contenido de un array eliminando elementos existentes y/o agregando nuevos elementos.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Sintaxis
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
Parámetros
start
- Índice donde se comenzará a cambiar el array (con 0 como origen). Si es mayor que la longitud del array, el punto inicial será la longitud del array. Si es negativo, empezará esa cantidad de elementos contando desde el final.
deleteCount
Optional- Un entero indicando el número de elementos a eliminar del array antiguo.
- Si
deleteCount
se omite, o si su valor es mayor quearr.length - start
(esto significa, si es mayor que el número de elementos restantes del array, comenzando desdestart
), entonces todos los elementos desdestart
hasta el final del array serán eliminados. - Si
deleteCount
es igual a 0 o negativo, no se eliminará ningún elemento. En este caso, se debe especificar al menos un nuevo elemento (ver más abajo). item1, item2, ...
Optional- Los elementos que se agregarán al array, empezando en el índice
start
. Si no se especifica ningún elemento,splice()
solamente eliminará elementos del array.
Valor devuelto
Un array que contiene los elementos eliminados. Si sólo se ha eliminado un elemento, devuelve un array con un solo elemento. Si no se ha eliminado ningún elemento, devuelve un array vacío.
Descripción
Si especifica un número diferente de elementos a agregar que los que se eliminarán, el array tendrá un tamaño diferente al original una vez finalizada la llamada.
Ejemplos
Eliminar 0 elementos desde el índice 2 e insertar "drum"
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2, 0, 'drum');
// myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"]
// removed is [], no elements removed
Eliminar 1 elemento desde el índice 3
var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
var removed = myFish.splice(3, 1);
// removed is ["mandarin"]
// myFish is ["angel", "clown", "drum", "sturgeon"]
Eliminar 1 elemento desde el índice 2 e insertar "trumpet"
var myFish = ['angel', 'clown', 'drum', 'sturgeon'];
var removed = myFish.splice(2, 1, 'trumpet');
// myFish is ["angel", "clown", "trumpet", "sturgeon"]
// removed is ["drum"]
Eliminar 2 elementos desde el índice 0 e insertar "parrot", "anemone" y "blue"
var myFish = ['angel', 'clown', 'trumpet', 'sturgeon'];
var removed = myFish.splice(0, 2, 'parrot', 'anemone', 'blue');
// myFish is ["parrot", "anemone", "blue", "trumpet", "sturgeon"]
// removed is ["angel", "clown"]
Eliminar 2 elementos desde el índice 2
var myFish = ['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon'];
var removed = myFish.splice(myFish.length - 3, 2);
// myFish is ["parrot", "anemone", "sturgeon"]
// removed is ["blue", "trumpet"]
Eliminar 1 elemento desde el índice -2
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(-2, 1);
// myFish is ["angel", "clown", "sturgeon"]
// removed is ["mandarin"]
Eliminar todos los elementos tras el índice 2 (incl.)
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2);
// myFish is ["angel", "clown"]
// removed is ["mandarin", "sturgeon"]
Especificaciones
Especificación | Estado | Comentario |
---|---|---|
ECMAScript 3rd Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.2. |
ECMAScript 5.1 (ECMA-262) La definición de 'Array.prototype.splice' en esta especificación. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) La definición de 'Array.prototype.splice' en esta especificación. |
Standard | |
ECMAScript (ECMA-262) La definición de 'Array.prototype.splice' en esta especificación. |
Living Standard |
Compatibilidad con navegadores
BCD tables only load in the browser