Javascript 带if语句的嵌套循环问题

Javascript 带if语句的嵌套循环问题,javascript,jquery,Javascript,Jquery,我需要有关此嵌套for循环with if语句的帮助。我想做的是只在站点上显示包含在对象数组(resultFlats[i].id)中的这个li。 现在它不能正常工作 从li获取数字id和从resultFlats获取id工作正常,但if语句有一些问题 var arrayFlats=$('.search my house'); //例如。 var resultFlats=[ { 名称:“测试”, id:“1” }, { 名称:“test2”, id:“4” } ] 对于(var j=0;j

我需要有关此嵌套for循环with if语句的帮助。我想做的是只在站点上显示包含在对象数组(
resultFlats[i].id
)中的这个li。 现在它不能正常工作

从li获取数字id和从
resultFlats
获取id工作正常,但if语句有一些问题

var arrayFlats=$('.search my house');
//例如。
var resultFlats=[
{
名称:“测试”,
id:“1”
},
{
名称:“test2”,
id:“4”
}
]
对于(var j=0;j
  • 22 皮特罗1 4. 168m2 自由的
  • 1. 皮特罗1 4. 168m2 自由的
  • 184 皮特罗1 4. 168m2 自由的
  • 您需要添加一个
    break
    语句,以便当您的条件匹配时,其他
    resultflat
    的循环中断和css不受else语句的影响。所以,你要这样做:

    if(showId === number)
    {
       $(arrayFlats[j]).css('display', 'flex');
       break;
    } 
    else 
    {
       $(arrayFlats[j]).css('display', 'none')
    }
    

    想法是:1。首先隐藏所有元素,然后显示匹配的元素 实施

    var resultFlats = [
      {
        name: "test",
        id: "1"
      },
      {
        name: "test2",
        id: "4"
      }
    ]
    $('.search-my-house').css('display', 'none');
    for (var i = 0; i < resultFlats.length; i++) {
      var showId = Number(resultFlats[i].id);
      $('.search-my-house').each(function() {
        var number = $('.apartment-number', this).text().replace(/\s/g, "");
        number = Number(number);
          if(showId === number) {
            $(this).css("display", 'flex');
          };
      });
    }
    
    var resultFlats=[
    {
    名称:“测试”,
    id:“1”
    },
    {
    名称:“test2”,
    id:“4”
    }
    ]
    $('.search my house').css('display','none');
    对于(变量i=0;i
    请使用
    中断
    转到
    继续
    。。。关键词扼杀了代码流,很难阅读。很高兴帮助您@user2508736