Sobes.tech
Junior — Middle

¿Puedes explicar la diferencia entre los métodos slice y splice al trabajar con arreglos en JavaScript?

sobes.tech AI

Respuesta de la IA

Los métodos slice y splice en JavaScript trabajan con arreglos, pero tienen diferentes propósitos:

  • slice(start, end) — devuelve un nuevo arreglo que contiene una copia de una parte del arreglo original desde el índice start hasta end (sin incluir end). El arreglo original no se modifica.

  • splice(start, deleteCount, ...items) — modifica el arreglo original, eliminando deleteCount elementos comenzando desde el índice start, y puede insertar elementos items en su lugar (si se especifican). Devuelve un arreglo con los elementos eliminados.

Ejemplo:

let arr = [1, 2, 3, 4, 5];

// slice
let newArr = arr.slice(1, 3); // [2, 3]
console.log(arr); // [1, 2, 3, 4, 5] - el arreglo original no cambió

// splice
let removed = arr.splice(1, 2, 8, 9); // elimina 2 elementos desde el índice 1 y inserta 8, 9
console.log(arr); // [1, 8, 9, 4, 5]
console.log(removed); // [2, 3]

Por lo tanto, slice se usa para crear un subarreglo sin modificar el original, mientras que splice modifica el arreglo en su lugar.