[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/toSpliced [Back]  [Original]

Array.prototype.toSpliced() - JavaScript | MDN

Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.

View in English Always switch to English

Array.prototype.toSpliced()

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since julio de 2023.

El mtodo toSpliced() pertenece a las instancias de Array y es la versin copying del mtodo splice(). Devuelve un nuevo array con elementos eliminados y/o reemplazados en un ndice dado.

In this article

Sintaxis

js
toSpliced(start)
toSpliced(start, skipCount)
toSpliced(start, skipCount, item1)
toSpliced(start, skipCount, item1, item2)
toSpliced(start, skipCount, item1, item2, /* , */ itemN)

Parmetros

start

ndice basado en cero a partir del cual se comienzan a modificar los elementos del array, convertido en un entero.

  • Un ndice negativo cuenta hacia atrs desde el final del array si -array.length <= start < 0, se usa start + array.length.
  • Si start < -array.length o start se omite, se usa 0.
  • Si start >= array.length, no se eliminar ningn elemento, pero el mtodo se comportar como una funcin de adicin, agregando tantos elementos como se hayan proporcionado.
skipCount Opcional

Un entero que indica el nmero de elementos que se deben eliminar (o saltear) del array a partir de start.

Si skipCount se omite, o si su valor es mayor o igual a la cantidad de elementos despus de la posicin indicada por start, entonces se eliminarn todos los elementos desde start hasta el final del array. Sin embargo, si deseas pasar cualquier parmetro itemN, deberas pasar Infinity como skipCount para eliminar todos los elementos despus de start, ya que un valor explcito undefined se convierte en 0.

Si skipCount es 0 o negativo, no se eliminarn elementos. En ese caso, debes especificar al menos un nuevo elemento (ver abajo).

item1, , itemN Opcional

Los elementos que se aadirn al array, comenzando desde start.

Si no se especifica ningn elemento, toSpliced() solo eliminar elementos del array.

Valor de retorno

Un nuevo array que consta de todos los elementos anteriores a start, seguidos de item1, item2, , itemN, y de todos los elementos posteriores a start + skipCount.

Descripcin

El mtodo toSpliced(), al igual que splice(), realiza mltiples operaciones a la vez: elimina el nmero especificado de elementos del array a partir del ndice dado, y a continuacin, inserta los elementos especificados en ese mismo ndice. Sin embargo, devuelve un nuevo array en lugar de modificar el original, por lo que los elementos eliminados no se devuelven, sino que permanecen accesibles en el array original.

El mtodo toSpliced() nunca produce un array disperso. Si el array de origen es disperso, los espacios vacos se reemplazan por undefined en el nuevo array.

El mtodo toSpliced() es genrico. Solo espera que el valor de this tenga una propiedad length y propiedades indexadas por enteros.

Ejemplos

Eliminando, agregando y reemplazando elementos

toSpliced() permite eliminar, agregar y reemplazar elementos de un array, y crear uno nuevo de forma ms eficiente que usando slice() y concat().

js
const months = ["Jan", "Mar", "Apr", "May"];

// Insertando un elemento en el ndice 1
const months2 = months.toSpliced(1, 0, "Feb");
console.log(months2); // ["Jan", "Feb", "Mar", "Apr", "May"]

// Eliminando dos elementos empezando desde el ndice 2
const months3 = months2.toSpliced(2, 2);
console.log(months3); // ["Jan", "Feb", "May"]

// Reemplazando un elemento en el ndice 1 con dos nuevos elementos
const months4 = months3.toSpliced(1, 1, "Feb", "Mar");
console.log(months4); // ["Jan", "Feb", "Mar", "May"]

// El array original no fue modificado
console.log(months); // ["Jan", "Mar", "Apr", "May"]

Uso de toSpliced() en arrays dispersos

El mtodo toSpliced() siempre crea un array denso, reemplazando los huecos por undefined.

js
const arr = [1, , 3, 4, , 6];
console.log(arr.toSpliced(1, 2)); // [1, 4, undefined, 6]

Llamar toSpliced() en objetos que no son arrays

El mtodo toSpliced() lee la propiedad length de this. A continuacin, lee las propiedades con claves enteras necesarias y las escribe en el nuevo array.

js
const arrayLike = {
  length: 3,
  unrelated: "foo",
  0: 5,
  2: 4,
};
console.log(Array.prototype.toSpliced.call(arrayLike, 0, 1, 2, 3));
// [2, 3, undefined, 4]

Especificaciones

Specification
ECMAScript 2027 LanguageSpecification
# sec-array.prototype.tospliced

Compatibilidad con navegadores

Ver tambin


Web Proxy Viewer  |  New URL  |  Original Page