Hi guys o/
The following code (into the While condicion)
newArr.push(arr);
generates the same output. Was it wrong?
Hi guys o/
The following code (into the While condicion)
newArr.push(arr);
generates the same output. Was it wrong?
can you give some more context to your question? (such as a link to the challenge description)
The challenge is asking for a shallow copy of the array.
If you push the array without using spread you are pushing a reference to the array, not a copy.
function copyMachine(arr, num) {
let newArr = [];
while (num >= 1) {
// Not a copy
newArr.push(arr);
num--;
}
return newArr;
}
const originalArray = [true, false, true];
const copy = copyMachine(originalArray, 1);
console.log(copy); // [[true, false, true]]
copy[0][0] = false;
console.log(copy); // [[false, false, true]]
// originalArray was mutated
console.log(originalArray); // [[false, false, true]]
If you use [...arr]
with .push()
then originalArray
will not be mutated.
uooou! nice! thank you so much!
This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.