我有以下对象,我想检查Type.ID是否包含值6508:
{
"item": {
"Feature": [
{
"ID": 85408,
"Status": {
"ID": 65,
},
"Type": {
"ID": 6508,
"Volume": null
},
"Manufacturer": null
},
{
"ID": 85409,
"Status": {
"ID": 65,
},
"Type": {
"ID": 6509,
"Volume": null
},
"Manufacturer": null
}
],
"Errors": {
"Result": 0,
"Message": ""
},
"RecordCount": 2
}
}
我可以集思广益:
for (i = 0; i < data.item.Feature.length; i++) {
if (data.item.Feature[i].Type.ID == 6508)
return true;
}
return false;
我如何使用underscore.js做同样的事情?以下不起作用?
_.contains(data.item.Feature.Type.ID, 6508)
答案 0 :(得分:4)
你不需要下划线;简单JS中的例子。
<div class="container">
<h2>View 2</h2>
City:
<br>
<input type="text" data-ng-model="city">
<br>
<ul>
<li data-ng-repeat="cust in customers | filter:city | orderBy:'city'">
{{ cust.name }} - {{ cust.city }}
</li>
</ul>
</div>
答案 1 :(得分:3)
使用@FakeRainBrig和JS代码我通过执行以下操作来使用下划线来实现相同的目的:
_.some(data.item.Feature, function(f) {
return f.Type.ID == 6508;
})
答案 2 :(得分:0)
只是一个建议兄弟,如果您想要整个对象(内部&#39;功能&#39;列表)而不仅仅是根据您的搜索条件的布尔值,您可以按照下面提到的方式进行。
var val = _.findWhere(data.item.Feature, {'Type': _.findWhere(_.pluck(data.item.Feature, 'Type'), {ID: 6509})});
这将返回:
{
"ID":85409,
"Status":{
"ID":65
},
"Type":{
"ID":6509,
"Volume":null
},
"Manufacturer":null
}