Basic data structures - Cycle through and remove elements

Tell us what’s happening:

I don’t understand why this code passes the 4 th and 5th test but it doesn’t pass the rest using two loops.
If I remove the the second for loop it passes all the tests. THX

Your code so far


function filteredArray(arr, elem) {
let newArr = [];
for( let i = 0; i < arr.length; i++) {
  for(let j = 0; j < i.length; j++){
      if(arr[i][j].indexOf(elem) === -1) {
          newArr.push(arr[i][j]);
    }
  } 
}
return newArr;
}
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

indexOf is an array or string method
arr[i][j] is a string, a number, but never an array
and when arr[i][j] is a number, the code errors out and stop
that line doesn’t do what you want

1 Like

i is a number, doesn’t have properties
this also errors out and stop the code