Tell us what’s happening:
My logic is not working properly, why compare " arr[i].indexOf(elem)==-1 " instead of "arr[i].indexOf(elem) !=-1 " ?
My brain is thinking that if " ==-1 ", the current array index element will be pushed to the newArr array contrary to skipping the element, please help me to understand this.
Thanks
Your code so far
function filteredArray(arr, elem) {
let newArr = [];
// change code below this line
for (var i=0; i < arr.length;i++){
if (arr[i].indexOf(elem)==-1){
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));
function filteredArray(arr, elem) {
let newArr = [];
// change code below this line
// change code above this line
return newArr;
}
// change code here to test different cases:
console.log(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3));
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 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