在for的遍历循环中,else之后的结果alert如何让其只弹出一次?

发布于 2022-09-04 19:50:19 字数 1380 浏览 7 评论 0

在一个for循环中当不满足之前的两个if条件时,则弹出alert提示框,由于做了遍历查询,所以alert会根据数组数量多次弹出,请教这个应该如何做截断,让其判断后只弹出一次?

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

});

目前这样写会根据json数据的条数,弹窗就会弹出三次。。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

深海里的那抹蓝 2022-09-11 19:50:20
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;
}
指尖凝香 2022-09-11 19:50:20

else if()

小ぇ时光︴ 2022-09-11 19:50:20

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文