Rumah  >  Soal Jawab  >  teks badan

javascript - Dalam gelung untuk traversal, bagaimana untuk membuat amaran hasil selepas lain muncul sekali sahaja?

Dalam for循环中当不满足之前的两个if条件时,则弹出alert提示框,由于做了遍历查询,所以alert, ia akan muncul beberapa kali mengikut bilangan tatasusunan Sila beritahu saya bagaimana untuk memotong ini supaya ia hanya muncul sekali selepas penghakiman?

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

});

Pada masa ini, jika anda menulis seperti ini, tetingkap pop timbul akan muncul tiga kali mengikut bilangan data json. . .

黄舟黄舟2710 hari yang lalu1020

membalas semua(3)saya akan balas

  • 天蓬老师

    天蓬老师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;
    }

    balas
    0
  • 黄舟

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

    lain jika()

    balas
    0
  • PHP中文网

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

    Letakkannya di luar gelung for, dan amaran hanya akan berlaku apabila nilai result8 dan result6 kedua-duanya kosong.
    Kenapa tidak putus apabila id==6;?

    balas
    0
  • Batalbalas