I need explanation for this piece of code please

Tell us what’s happening:
Here indexOf method is used as arr[i].indexOf(elem) == -1, my question is that the arr Array is a nested array so how can we use arr[i].indexOf(elem) == -1 on the outer array directly, and not going to the nested array first and then checking the indexOf method on that? .

  **Your code so far**

function filteredArray(arr, elem) {
let newArr = [];
// Only change code below this line
for(let i = 0; i < arr.length; i++){
  
    if (arr[i].indexOf(elem) == -1) {
      newArr.push(arr[i]); 
  }
}
// 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/81.0.4044.138 Safari/537.36

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

Link to the challenge:

IndexOf is not used on arr, it is used on arr[i], which is the inner array

1 Like

Oh, yeah that’s right Thank you @ilenia enia