Iterate Through All Arrays items Using For Loops

Can anyone please help me understand why this code doesn’t work?
Cheers

js

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; j++) {
      if (arr[i][j] !== elem) {
   newArr.push(arr[i][j]);
  }
  }
}
  // 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 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 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

1 Like

Your code is looking at each element of each subarray and if it finds a subarray element that is not equal to elem, then it pushes this element into the final array.

You seem to misunderstand what the final array should actually contain. The final array’s elements are not supposed to be individual elements of subarrays. Instead, it is supposed to contain the subarrays which do not contain the elem. So, the final array will contain arrays and not values strings or numbers.

2 Likes

Ohhh I see! Yep, totally misunderstood what was being asked of me. Thank you!