Estoy tratando de vaciar una matriz usando el método pop después de eso, quiero enviar el resultado devuelto por el método pop a otra matriz y obtener el resultado completo, pero el método pop no satisface mis necesidades, siempre se detiene a mitad de camino. ¿el problema?
let arr = [1,2,3,4,5,6,7] let newArr = [] //console.log(arr.pop()) const fib = function(n){ if(n <= arr.length){ newArr.push(arr.pop()) return fib(n+1) } } fib(0) console.log(newArr)let arr = [1,2,3,4,5,6,7] let newArr = [] //console.log(arr.pop()) const fib = function(n){ if(!n <= 0){ newArr.push(arr.pop()) return fib(n-1) } } fib(arr.length) console.log(newArr)Yo haría así:
var myArr = [1,2,3,4,5,6,7,8,9]; var myNewArr = []; while(myArr.length){ myNewArr.push(myArr.pop()); } console.log(myArr, myNewArr); Si solo desea revertirlo, puede usar la función reverse para Arrays:
var myArr = [1,2,3,4,5,6,7,8,9]; myArr = myArr.reverse(); console.log(myArr); // Or if you really need 2 variables and one needs to be empty var myArr = [1,2,3,4,5,6,7,8,9]; var myNewArr = myArr.reverse(); myArr = []; console.log(myArr, myNewArr);Si desea que su matriz esté vacía ... Creo que esta es la forma más fácil.
var array = [1,2,3,4,5,6,7] array = [] console.log(array)