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.
Este método recibe varios argumentos, entre los cuales están:
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.
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.
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.
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];