Tell us what’s happening:
Everything went well with the challenge until it turns out that what should be wrong (according to me) is right and what should be right is wrong.
Could someone explain to me why this code is right?
Your code so far
function filteredArray(arr, elem) {
let newArr = [];
// change code below this line
for(let i = 0; i < arr.length; i++){
if(arr[i].indexOf(elem) >= 0){
arr.pop();
}else{
newArr.push([...arr[i]]);
//newArr[i] = newArr.push([...arr[i]]);
}
}
// change code above this line
return newArr;
}
// change code here to test different cases:
console.log(filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2));
And why this one is wrong:
function filteredArray(arr, elem) {
let newArr = [];
// change code below this line
for(let i = 0; i < arr.length; i++){
if(arr[i].indexOf(elem) >= 0){
arr.shift();
}else{
newArr.push([...arr[i]]);
//newArr[i] = newArr.push([...arr[i]]);
}
}
// change code above this line
return newArr;
}
// change code here to test different cases:
console.log(filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2));
I appreciate your help, thank you.
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36
.
Challenge: Iterate Through All an Array’s Items Using For Loops
Link to the challenge:
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-all-an-arrays-items-using-for-loops