попробуйте поменять подход
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div class="main"></div>
</body>
</html>
<script>
const arr=[];
arr.push({id:1,question:'вопрос 1', level:1, correctAnswer:2, answer:['ответ 1 на 1','ответ 2 на 1','ответ 3 на 1','ответ 4 на 1']})
arr.push({id:2,question:'вопрос 2', level:1, correctAnswer:4, answer:['ответ 1 на 2','ответ 2 на 2','ответ 3 на 2','ответ 4 на 2']})
arr.push({id:3,question:'вопрос 3', level:1, correctAnswer:1, answer:['ответ 1 на 3','ответ 2 на 3','ответ 3 на 3','ответ 4 на 3']})
arr.push({id:4,question:'вопрос 4', level:1, correctAnswer:3, answer:['ответ 1 на 4','ответ 2 на 4','ответ 3 на 4','ответ 4 на 4']})
arr.sort(()=>Math.random() - 0.5)
for(let i=0;i<2 && i<arr.length-1;i++) {
const item=arr[i]
const ellAnswer=`<select onchange="choice(${item.id},this.options[this.selectedIndex].value)">${item.answer
.map((a,ii)=>`<option value="${ii}">${a}</option>`)
.join('')}</select>`
const allBlock=`<div id="question${item.id}">
<div>${item.question}</div>
<div>${ellAnswer}</div>
<div class="correctAnswer">ответ не выбран</div>
<div>=====================</div>
</div>`
const ell=document.createElement('div')
ell.innerHTML=allBlock
document.querySelector('div.main')
.appendChild(ell)
}
function choice(id,n) {
document.querySelector(`div#question${id} div.correctAnswer`).textContent=`на вопрос ${id} получен ответ ${n}`
// здесь нам известно id вопроса и n ответа, ищем в массиве элемент вопрос и сравниваем n с correctAnswer
//https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/find
}
</script>