【问题标题】:Search nested lists in JSON with jQuery使用 jQuery 在 JSON 中搜索嵌套列表
【发布时间】:2019-06-08 14:29:40
【问题描述】:

我正在尝试实现一个简单的搜索功能,如果您在搜索框中输入一个城镇,它会为您提供该地区的电话号码。存储此数据的最简单方法是将城镇存储在 JSON 中的列表中。然而:

var abc = {
  "partner": {
    "name": "North East & Cumbria (EDT)",
    "number": "01915008717",
    "areas": {
    "authority": ["Allerdale", "Barrow-in-Furness", "Carlisle"]
    }
  }
};


$.each(abc.partner.areas, function(key, val){
  if ((val.authority.search(new RegExp("Carlisle", "i")) != -1)) {
    // Action here
  }
});

由于某种原因,这不起作用。我在正确的路线上吗?

【问题讨论】:

  • 那里没有无钥匙列表。我错过了什么吗?
  • val.authority 应该只是 val。 key 将是 "authority",val 将是数组
  • 虽然你真的不需要每个。 if (abc.partner.area.authority.search( ... ) != -1)
  • 会有多个“合作伙伴”对象,我忘了提这个。 each 是遍历那些。哎呀:-s
  • 鉴于你上面的json,不能有多个伙伴对象。

标签: jquery json search


【解决方案1】:

您好兄弟,根据我理解您的问题,如果您需要任何更新或帮助评论我,我修改了代码

 var abc = {
  "partner": {
    "name": "North East & Cumbria (EDT)",
    "number": "01915008717",
    "areas": {
    "authority": ["Allerdale", "Barrow-in-Furness", "Carlisle"]
    }
  }
};


$.each(abc.partner.areas, function(key, val){
 console.log(val);
  if(jQuery.inArray("Carlisle", val)) {
    console.log(abc.partner.number);
}
});

【讨论】:

  • 这会返回误报,但是对“if(jQuery.inArray("Carlisle", val) !== -1)" 进行调整就可以了!
猜你喜欢
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
  • 2013-11-26
  • 1970-01-01
  • 2018-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多