Вы можете сделать что-то вроде этого:
var carArray = ["Bmw", "Volvo", "Ferrari", "Audi", "Volkswagen", "Honda"];
var chb = document.querySelectorAll("input[type=checkbox]");
chb.forEach((x,i) => x.addEventListener("mouseover", () => test(i)))
const test = i => console.log(carArray[i]);
Проблема с вашим кодом заключается в том, что i
к тому времени, которое передается вашему обработчику событий, уже имеет значение 6
.
var carArray = ["Bmw", "Volvo", "Ferrari", "Audi", "Volkswagen", "Honda"];
var chb = document.querySelectorAll("input[type=checkbox]");
chb.forEach((x,i) => x.addEventListener("mouseover", () => test(i)))
function test(i) {
console.log(carArray[i]);
}
body {
display: flex;
flex-direction: column;
}
<div><input type="checkbox"> 1</div>
<div><input type="checkbox"> 2</div>
<div><input type="checkbox"> 3</div>
<div><input type="checkbox"> 4</div>
<div><input type="checkbox"> 5</div>
<div><input type="checkbox"> 6</div>