Primero que nada:
❗ .splice SI modifica nuestro array original
Ahora, esto no quiere decir que sea algo malo y que debas evitarlo, al contrario, solo ten cuidado y piensa si realmente lo que necesitas es modificar el array original (en caso contrario, puedes investigar el método slice()).
Este método cambia el contendido de cualquier array al remover o reemplazar elementos existentes y/o añadiendo nuevos elementos en su lugar.
Uso del método .splice()
Este método recibe varios argumentos, entre los cuales están:
Inicio
El primer argumento, de tipo numérico que le podemos dar a nuestro método es el index del cual se empezará a modificar el array.
En caso de introduzcamos un valor negativo, entonces contará desde el final del array.
Cuenta de borrado
El segundo número, también de tipo numérico, indicará el numero de elementos que queremos eliminar de nuestro array arrancando por el valor especificado en inicio.
En el caso de que este argumento sea 0 o negativo, ningún elemento de nuestro array será eliminado.
item1, item2, … itemN
Estos son los elementos que serán añadidos a partir de inicio. En caso de no especificar nuevos elementos para agregar al array, solo eliminara la cantidad de elementos especificada en el parámetro anterior.
Ejemplo
Supomgamos que tenemos un array número al cual queremos agregar los número faltantantes:
const arr = [1, 2, 6];
arr.splice(2, 0, 3, 4, 5);
console.log(arr) // output esperado: [1, 2, 3, 4, 5, 6];
Curso Práctico de JavaScript