如何使用Underscorejs和jQuery查找具有属性值的子对象?

时间:2016-12-20 12:56:31

标签: javascript jquery underscore.js

获取以下数据:

object {
   name: 'foo'
   children: [
      {
         'name': 'cat'
         'color': 'green'
      },
      {
         'name': 'dog'
         'color': 'blue'
      },
      {
         'name': 'bird'
         'color': 'red'
      }
   ]
}

如何使用Underscorejs,jQuery和JavaScript查找并选择name = dog的子项?我尝试使用_.findWhere(objectdata.children,{name:'dog'}),但这似乎也不起作用。

2 个答案:

答案 0 :(得分:1)

使用Underscore.js,您只需使用过滤功能,例如:

var child = _.filter(object.children, obj => obj.name === 'dog');

你不需要jQuery。

答案 1 :(得分:1)

在JQuery中,您可以使用filter来获取子对象。

var obj = {
   name: 'foo',
   children: [
      {
         'name': 'cat',
         'color': 'green'
      },
      {
         'name': 'dog',
         'color': 'blue'
      },
      {
         'name': 'bird',
         'color': 'red'
      }
   ]
};

console.log(obj.children.filter(function(e){return e.name == "dog";})[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>