Почему функция возвращает false?

почему функция возращает false? если в массиве есть такой аргумент

let y = [10, 3, 6, 9, 15, 30]

function test(x, y) {
  for (i = 0; i < y.length; i++) {
    if (x == y[i]) {
      console.log(true)
      return true;
    } else {
      console.log(false)
      return false;
    }
  }
}

test(3, y)


Ответы (1 шт):

Автор решения: Danis

потому что после return функцию сразу завершается. В вашем случае первый элемент это 10 и он не равен 3 и функцию возвращает false.

Перенесите содержимое else за цикл for.

let y = [10, 3, 6, 9, 15, 30]

function test(x,y) {
    for(let i = 0; i < y.length; i++) {
        if (x == y[i]) {
            console.log(true);
            return true;
       }
    }
    return false;
}

test(3, y);
→ Ссылка