javascript - Wie kann man in der for-Traversal-Schleife dafür sorgen, dass die Ergebniswarnung nach else nur einmal angezeigt wird?
黄舟
黄舟 2017-05-19 10:40:28
0
3
1053

In einem for循环中当不满足之前的两个if条件时,则弹出alert提示框,由于做了遍历查询,所以alert wird es entsprechend der Anzahl der Arrays mehrmals angezeigt. Bitte sagen Sie mir, wie ich dies abschneiden kann, damit es nach der Beurteilung nur einmal angezeigt wird.

$(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));
    })

});

Wenn Sie derzeit so schreiben, wird das Popup-Fenster entsprechend der Anzahl der JSON-Daten dreimal angezeigt. . .

黄舟
黄舟

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

Antworte allen(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;
}
黄舟

else if()

洪涛

放在for循环外面,当result8和result6的值都为空的时候才alert。
为什么id==6时不break;?

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage