如何获取对象数组中options的第一个元素?当前代码返回最后一项
问题解决方法
问题原因
你当前的for循环会逐个遍历questions[0].options中的所有选项,每次遍历都直接替换qOption1的innerHTML值,循环结束后自然只会保留最后一次赋值的内容(也就是"4. numbers")。
解决方案
如果只想获取并显示第一个选项"1. strings",不需要循环,直接通过数组索引[0]访问第一个元素即可:
const qOption1 = document.querySelector('.questionsOption1') const questions = [{ questionText: "Commonly used data types DO NOT include:", options: ["1. strings", "2. booleans", "3. alerts", "4. numbers"], answer: "3. alerts", }] // 直接获取数组第一个元素并赋值 qOption1.innerHTML = questions[0].options[0];
额外说明
如果后续需要展示所有选项(而非仅第一个),不要直接覆盖innerHTML,而是用追加的方式,比如:
// 先清空原有内容 qOption1.innerHTML = ''; for (let op of questions[0].options) { // 追加每个选项,用换行分隔 qOption1.innerHTML += op + '<br>'; }
内容的提问来源于stack exchange,提问作者mDR
相关产品推荐
相关产品推荐

