¿Cuál es la diferencia entre Array.slice() y Array.splice() en JavaScript?

Las arrays de Javascript son variables que pueden contener más de un valor. Hay muchos métodos asociados con estas arrays. Los métodos slice() y splice() son métodos ampliamente utilizados para la manipulación de arrays. Hay varias diferencias entre ellos que se enumeran en la siguiente tabla.

rodaja() empalme()
Este método se usa para obtener una nueva array seleccionando una sub-array de una array determinada. Este método se usa para agregar/eliminar un elemento de la array dada.
El parámetro ‘s’ indica el índice inicial y ‘e’ indica el índice final. Denotan el índice del subarreglo que se va a tomar. De forma predeterminada, el valor de inicio es ‘0’ y el final es ‘n’. El parámetro ‘i’ indica el índice inicial, ‘n’ indica el número de elementos que se eliminarán del índice inicial especificado. ‘elemento 1, elemento 2, …..elemento n’ representa la lista de elementos nuevos que se agregarán en el índice dado. Si n=0, no se elimina ningún elemento, los nuevos elementos simplemente se agregan al índice de inicio especificado.
Los cambios no se reflejan en la array original. Los cambios se reflejan en la array original.
El resultado debe asignarse a una nueva variable de array. No es necesario asignar el resultado a ninguna otra variable nueva.
El valor devuelto es una nueva array con los valores en la sub-array seleccionada de la array dada. Se seleccionarán los valores en el rango de inicio a (fin-1). El valor devuelto es una array que contiene el elemento eliminado.
Toma exactamente 2 argumentos Toma ‘n’ número de argumentos (se puede proporcionar una lista de elementos nuevos)

Sintaxis:

  • rodaja():
    array_name.slice(s, e)
  • empalme():
    array_name.splice(i, n, item 1, item 2, .....item n)

Ejemplos del método slice()
Ejemplo 1: se especifican tanto el inicio como el final.

<script>
    var cars=['Benz', 'Innova', 'Breeza', 'Etios', 'Dzire'];
    var new_cars=cars.slice(1, 4);
    document.write("cars :", cars, "<br><br>");
     document.write("new_cars :", new_cars);
</script>

Producción:

cars :Benz, Innova, Breeza, Etios, Dzire
new_cars :Innova, Breeza, Etios

Ejemplo 2: solo se especifica el inicio. El final es por defecto la longitud de la array.

<script>
    var cars=['Benz', 'Innova', 'Breeza', 'Etios', 'Dzire'];
    var new_cars=cars.slice(2);
    document.write("cars :", cars, "<br><br>");
    document.write("new_cars :", new_cars);
</script>

Producción:

cars :Benz, Innova, Breeza, Etios, Dzire

new_cars :Breeza, Etios, Dzire

Ejemplos para el método splice()
Ejemplo 1: Ahora solo agreguemos algunos elementos más, pero no eliminemos ningún elemento.

<script>
    var cars=['Benz', 'Innova', 'Breeza', 'Etios', 'Dzire'];
    cars.splice(2, 0, 'ambassedor', 'BMW', 'Audi');
    document.write("cars :", cars, "<br><br>");
</script>

Producción:

cars :Benz, Innova, ambassedor, BMW, Audi, Breeza, Etios, Dzire

Ejemplo 2: Eliminar un elemento y no agregar ningún elemento nuevo

<script>
    var cars=[
'Benz', 'Innova', 'ambassedor', 'BMW', 'Audi', 'Breeza', 'Etios', 'Dzire'];
    cars.splice(2, 1);
    document.write("cars :", cars, "<br><br>");
</script>

Producción:

cars :Benz, Innova, BMW, Audi, Breeza, Etios, Dzire

Ejemplo 3: Eliminar más de un elemento y no agregar ningún elemento nuevo.

<script>
    var cars=[
'Benz', 'Innova', 'ambassedor', 'BMW', 'Audi', 'Breeza', 'Etios', 'Dzire'];
    cars.splice(2, 3);
    document.write("cars :", cars, "<br><br>");
</script>

Producción:

cars :Benz, Innova, Breeza, Etios, Dzire

Al eliminar más de un elemento, en el caso anterior, el índice de inicio especificado es ‘2’ y se requiere eliminar ‘3 elementos’, por lo que comienza a eliminar elementos del propio índice. Por lo tanto, se eliminan los elementos del índice 2, 3 y 4.

Publicación traducida automáticamente

Artículo escrito por erakshaya485 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *