javascript - Comment faire en sorte que l'alerte de résultat After else n'apparaisse qu'une seule fois dans une boucle de parcours for?
黄舟
黄舟 2017-05-19 10:40:28
0
3
1019

Dans un for循环中当不满足之前的两个if条件时,则弹出alert提示框,由于做了遍历查询,所以alert, il apparaîtra plusieurs fois en fonction du nombre de tableaux. Veuillez me dire comment tronquer cela pour qu'il n'apparaisse qu'une seule fois après le jugement ?

$(function(){
    var jsons = [
            {"id":"621234","info":"内容一"},
            {"id":"62123456","info":"内容二"},
            {"id":"624321","info":"内容三"},
    ]

    function f(jsons,num) {
        var num8 = num.substr(0,8);
        var num6 = num.substr(0,6);
        var result6 = '';
        var result8 = '';
          for(var i = 0,len = jsons.length; i < len;i++) {
              var id = jsons[i].id;
              if(id == num8) {
                  result8 = jsons[i].info.toString();
                  $("#card_info").fadeIn("500");
                  $("#close").fadeIn("500");
                  break;
              }
              if(id == num6) {
                  result6 = jsons[i].info.toString();
                  $("#card_info").fadeIn("500");
                  $("#close").fadeIn("500");
              }
              else{
                alert("不符合条件");
              }
           }
          return result8 ? result8 : result6;
    }

    $("#down").click(function(){
      var user_info = $("#txt").val();
      var table = document.getElementById("card_info");
      table.innerHTML=(f(jsons, user_info));
    })

});

Actuellement, si vous écrivez ainsi, la fenêtre pop-up apparaîtra trois fois en fonction du nombre de données json. . .

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(3)
Peter_Zhu
function f(jsons, num) {
    var num8 = num.substr(0, 8);
    var num6 = num.substr(0, 6);
    var result = '';
    var inArr = 0;
    for (var i = 0, len = jsons.length; i < len; i++) {
        var id = jsons[i].id;
        if (id == num8) {
            result8 = jsons[i].info.toString();
            $("#card_info").fadeIn("500");
            $("#close").fadeIn("500");
            inArr++;
            break;
        }
        if (id == num6) {
            result6 = jsons[i].info.toString();
            $("#card_info").fadeIn("500");
            $("#close").fadeIn("500");
            inArr++;
        }
    }
    !inArr && alert("不符合条件");
    return result8 ? result8 : result6;
}
黄舟

sinon si()

洪涛

Mettez-le en dehors de la boucle for et l'alerte ne se produira que lorsque les valeurs​​de result8 et result6 seront toutes deux vides.
Pourquoi ne pas casser quand id==6;?

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!