Estoy empezando a aprender js y tantos (estoy seguro) estoy enfrentando problemas jajaja. Estoy tratando de copiar una matriz en otra matriz en una ubicación de índice designada.
Parece que puedo hacer todo correctamente, pero cuando registro el resultado, la matriz insertada se muestra al revés y no tengo idea de por qué.
También probé un .forEach como método de bucle, pero todavía estoy un poco verde para usarlo correctamente.
Este es el código:
function frankenSplice(arr1, arr2, n) { let newArr = arr2.slice([]); for (let i = 0; i < arr1.length; i++) { newArr.splice(n, 0, arr1[i]); console.log(newArr) } } frankenSplice([1, 2, 3], [4, 5, 6], 1);Registra // [ 4, 3, 2, 1, 5, 6 ] en lugar de la salida deseada: [ 4, 1, 2, 3, 5, 6 ]
Está insertando los elementos en el mismo índice, por lo que después de insertar 1, inserta 2 en la misma posición, desplazando hacia atrás el 1 y todos los elementos siguientes. O itera hacia atrás sobre arr1 o incrementa n después de cada iteración como lo he hecho aquí.
function frankenSplice(arr1, arr2, n) { let newArr = arr2.slice([]); for (let i = 0; i < arr1.length; i++) { newArr.splice(n, 0, arr1[i]); console.log(newArr) n++; // add this } } frankenSplice([1, 2, 3], [4, 5, 6], 1);