Question on functionality of alternative solution for Iterate Through All an Array's Items Using For Loops Iterate through all of an array's

Tell us what’s happening:
Describe your issue in detail here.
The solution for this is finding any instance of elem and returning an array without elem and it uses indexOf to parse out non-elem to push into newArr.
I used a 2-D loop to do this (see below). The program doesn’t accept this and I’m wondering if there’s something wrong with using a 2d loop to suss out not-elem as opposed to using indexOf . What is wrong with the method I used?

  **Your code so far**
function filteredArray(arr, elem) {
  let newArr = [];
  // Only change code below this line
for(let i = 0; i < arr.length; i++){
  for(let j = 1; j < arr[i].length; j++){
    if(arr[i][j] !== elem){
      newArr.push(arr[i][j]);
    }
  } console.log(newArr)
}
  // Only change code above this line
  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/96.0.4664.93 Safari/537.36

Challenge: Iterate Through All an Array’s Items Using For Loops

Link to the challenge:

Using indexOf might be more convenient depending who you ask, but no, using nested loop here doesn’t make it wrong.

Take a closer look at the test inputs and outputs, function is expected to do something slightly different than it is doing now.

1 Like

If the issue that the problem asks me to remove arrays containing elem, but my nested loops only remove individual elem rather than the entire array containing them?

Yes, that sounds about right.