Tell us what’s happening:
My
if(!(arr[i].indexOf(elem)) >= 0)
evaluates true/false properly, but my for loop seems to be pushing arr[i]
to the new array regardless of how the if statement evaluates. What am I missing here?
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){
newArr.push(arr[i]);
console.log(arr[i] + "was pushed");
} else {
console.log(elem + "is in" + arr);
}
}
// 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/74.0.3729.157 Safari/537.36
.