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 índicestarthastaend(sin incluirend). El arreglo original no se modifica. -
splice(start, deleteCount, ...items)— modifica el arreglo original, eliminandodeleteCountelementos comenzando desde el índicestart, y puede insertar elementositemsen 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.