【问题标题】:query javascript object查询 javascript 对象
【发布时间】:2012-01-18 15:45:47
【问题描述】:

我有一个 JSON 字符串过来并被分配给一个 javascript 对象

{
   "results":[
      {
        "id":"460",
        "name":"Widget 1",
        "loc":"Shed"
      },{
        "id":"461",
        "name":"Widget 2",
        "loc":"Kitchen"
      }]
}

有没有办法在 javascript 中“查询”这些数据,以便我可以搜索 ID 460 并返回 name 和 loc(而不是只循环整个对象)?我有 jQuery 和 Prototypejs 可供使用。

【问题讨论】:

  • Find object by id in array of javascript objects 的可能重复项 - 请在提问之前使用搜索。
  • 除非您还提供排序索引并使用二进制搜索或其他方式,否则无法更有效地“查询”该数据。如果这不是性能关键,则不需要,这是重复的。
  • 感谢您的链接,我确实搜索了大约一天,但找不到任何有用的信息。可能是因为我没有使用数组作为我的搜索词之一。

标签: javascript object


【解决方案1】:

DEMO

JavaScript 数组有一个内置的filter method:

var valuesWith460 = obj.results.filter(function(val) {
    return val.id === "460";
});

(为了支持旧版浏览器,您需要从上面的链接中获取 shim)

【讨论】:

    【解决方案2】:
    function getInfoByID( id )
      var object = { ... };
      for(var x in object.results) {
        if(object.results[x].id == id) {
          return [object.results[x].loc, object.results[x].name];
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      • 2016-12-04
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      相关资源
      最近更新 更多