首页 > 解决方案 > 我如何在 javascript 中将 forEach 用于 Json 数组

问题描述

大家好,我有一个 json 数组GelenDeger,就像

>GelenDeger
{Localizations: null, Languages: null, AgencyModels: null, GetCitiesModel: {…}, GetCountyModel: null, …}
AgencyAddress: null
GetCitiesModel: {IL_KOD: "35", IL_AD: null, ULKE_KOD: null}
GetCountyModel: null
HtmlResult: ""
M_ACENTE: (4) [{…}, {…}, {…}, {…}]
countryCode: 1234

当我点击按钮时我可以得到

GelenDeger.M_ACENTE[0].ADRES_TEXT

GelenDeger.M_ACENTE[0].ACENTE_AD

但我需要一个循环,而不必使用[0][1]或之类的索引,[2]但我不知道如何做到这一点。你能帮我解决这个问题吗?谢谢。

我的js代码:

function jsFiltreleme(GelenDeger) {
                    $("#myDiv").append(
                        "<div style='border-style:ridge;'>adress : <strong>" + GelenDeger.M_ACENTE[0].ADRES_TEXT + "</strong><br>" +
                        "name : <strong>" + GelenDeger.M_ACENTE[0].ACENTE_AD+ "</strong></div>"
                    );
                }

我的html代码:

<li class="none buttonBox">
    <input id="register" type="submit" value="Search">
</li>
<div id="myDiv"></div>

顺便说一句,我的 JSON 数组可以像 M_ACENTE 一样更改:(10) [{...}, {...}, {...}, {...}]

标签: javascripthtmlforeach

解决方案


您可以forEach()用于此目的。

function jsFiltreleme(GelenDeger) {
      GelenDeger.M_ACENTE.forEach(acente => {
        $("#myDiv").append(
          "<div style='border-style:ridge;'>adress : <strong>" + acente.ADRES_TEXT + "</strong><br>" +
          "name : <strong>" + acente.ACENTE_AD + "</strong></div>"
        );
      });
 }

您可以检查是否div不为空,然后将其清除。

if ($("#myDiv").html() !== "") {
  $("#myDiv").html() = ""
}

推荐阅读