首页 > 解决方案 > Array.prototype.forEach() json 数组

问题描述

尝试遍历 JSON 数组以显示为 HTML 问题的特定部分是这段代码。它 console.logs 我想要的但不显示它使用elmnt.innerHTML = ;

sect = JSON.parse(this.responseText)
div = sect.div
div.forEach(element => console.log(
     `<div>
          <h3>${element.month}</h3>
          <p>${element.p}</p>
      </div>`
));

完整代码:https
: //jsfiddle.net/benji462/qcves1yo/3/ 除了年份(2019、2018、2017)之外,有 3 个 JSON 文件都相同

{
    "year": 2019, "div": 
        [
            {"month": "December", "p": "", "span": ""},
            {"month": "November", "p": "", "span": ""}, 
            {"month": "October", "p": "", "span": ""},
            {"month": "September", "p": "", "span": ""},
            {"month": "August", "p": "", "span": ""}, 
            {"month": "July", "p": "", "span": ""},
            {"month": "June", "p": "", "span": ""},
            {"month": "May", "p": "", "span": ""}, 
            {"month": "April", "p": "", "span": ""},
            {"month": "March", "p": "", "span": ""},
            {"month": "February", "p": "", "span": ""}, 
            {"month": "January", "p": "", "span": ""}
        ], 
    "message": "success"
}

标签: javascriptarraysjsonxmlhttprequest

解决方案


sect = JSON.parse(this.responseText)
                        div = sect.div
                        yearJSON = sect.year
                        for (i in div) {
                            txt += `
                            <div>
                                <h3>${div[i].month}</h3>
                                <p>${div[i].p}</p>
                                <p><span>${div[i].span}</span></p>
                            </div>`
                        }
                        elmnt.innerHTML = `<h2>${yearJSON}</h2>` + txt

推荐阅读