Iterate Through All an Array's Items Using For Loops question

Iterate Through All an Array's Items Using For Loops question
0

#1

Tell us what’s happening:
I’m not sure why my code is returning " Cannot read property ‘length’ of undefined" any tips?

Your code so far


function filteredArray(arr, elem) {
  let newArr = [];
  // change code below this line
  
    for (let i = 0; i < arr.length; i++){
      for (let j = 0; j <arr[i].length; i++){
        if (arr[i][j] === elem) {
          newArr = arr.splice(i, 1); 
          --i;
        }
      }
    }   
  // 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 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-all-an-arrays-items-using-for-loops


#2

Do you really want to increment i in the line above?

Also, do you understand what value the splice method returns? Do a search and I bet you will be surprise what is getting assigned to newArr during each iteration.

Fixing these two issues will not solve all your problems, but will get you closer to a solution.