Получить значение из input в функцию

const out = document.querySelector('.out');
const button = document.querySelector('button');

const a = [1, 2, 3, 4, 5];
let y = document.querySelector('input').value;

function myFunction(ar, item) {
    ar = a;
    item = y;
    for (let i = 0; i < ar.length; i++) {
        if (ar[i] === item) {
            return out.innerHTML += i;
        }

    }
}

button.addEventListener('click', myFunction);

если ввожу числовое значение в переменную ,то функция работает ,а так ,не видит значения из инпута ,видимо.

function myFunction(ar, item) {
    for (let i = 0; i < ar.length; i++) {
        if (ar[i] === item) {
            return out.innerHTML += i;
        }

    }
}
myFunction(a, 2)

вот так работает ,а через инпут когда задаешь значение -нет


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

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

Как вариант можно сделать так:

const out = document.querySelector('.out');
const button = document.querySelector('button');
        
const a = [1, 2, 3, 4, 5];

function myFunction(a) {
    ar = a;
    item = document.querySelector('input').value;
    for (let i = 0; i < ar.length; i++) {
        if (ar[i] === +item) {
            return out.innerHTML += i;
        }
   }
}

button.addEventListener('click', (e) => myFunction(a));
→ Ссылка