按元素查找Json数组中的对象

时间:2014-02-24 19:55:04

标签: angularjs

假设我的JSON响应如下:

{_id: Object, 
foo: [
  object0: {
      content: "ipsum",
      bar: true,
  },
  object1: {
      content: "ipsum",
      bar: false
  }  
]

如何使用object bar显示true

(类似于{{response.object.where(bar === true).content}}

2 个答案:

答案 0 :(得分:3)

由于foo是一个对象数组,因此循环和检查可能是您最好的选择:

for (var i = 0; i < obj.foo.length; i++) {
    if (obj.foo[i].hasOwnProperty("bar") {
        if (obj.foo[i].bar == true) {
            //obj.foo[i].bar is true, do something!
        }
    }
}

答案 1 :(得分:2)

tymeJV的回答在技术上是正确的答案。除此之外,我建议您开始使用underscore.jsLo-Dash作为通用库。

例如,使用lodash查找bar:

var barObject = _.find(obj.foo, { bar: true });
if (barObject) {
    // Do your thing
}