Maison  >  Questions et réponses  >  le corps du texte

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?

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. . .

黄舟黄舟2709 Il y a quelques jours1011

répondre à tous(3)je répondrai

  • 天蓬老师

    天蓬老师2017-05-19 10:42:28

    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;
    }

    répondre
    0
  • 黄舟

    黄舟2017-05-19 10:42:28

    sinon si()

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-19 10:42:28

    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;?

    répondre
    0
  • Annulerrépondre