let myList = ['pop tarts', 'ramen', 'chips', 'salsa', 'coffee'] let myCart = [] myList.forEach((item) => { let poppedItem = myList.pop() myCart.push(poppedItem) console.log(myList) console.log(myCart) })// Al ejecutar este código, en lugar de mover todos los elementos de 'myList' a 'myCart', sale después de mover solo 3 de los elementos. Estoy totalmente perdido en cuanto a por qué-
Prueba esto
let myList = ['pop tarts', 'ramen', 'chips', 'salsa', 'coffee'] let myCart = Array.from(myList); myList = [] console.log(myList) console.log(myCart)Se espera el comportamiento porque está iterando sobre la matriz y al mismo tiempo la está modificando.
Ya ha visitado todos los elementos de la matriz, por lo que forEach finaliza, para obtener más información, puede consultar el enlace de documentación de Mozilla que proporcioné que contiene el párrafo modificar_la_matriz_durante_iteración .