Iterate Through All an Arrays Items Using For Loops explain

Tell us what’s happening:
So I understand looping through the array, the indexOf() function passed on the array, and pushing the new array but what I’m not understanding is why in the if statement does it have to be < 0 or == -1 in order to pass? Is it just random? because i tried -1000 and the doesn’t pass.

Your code so far


function filteredArray(arr, elem) {
  let newArr = [];
  // change code below this line
  for(let i = 0; i < arr.length; i++) {
    if (arr[i].indexOf(elem) < 0) {
      newArr.push(arr[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 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 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

indexOf returns -1 if the value is not found. Otherwise, it returns the first index in the array where the value is found.