我有一个示例对象数组,如下所示,我想要一个名为Test的数组中的对象。
**Results: [
{ Name: "Test",
Age :21
ChildrenObj:
},
{ Name: "Something else",
Age :21
ChildreObj
}**
我正在使用以下代码来查找它,而且它没有返回正确的数据
var names= (_un.find(data.Results, function(item) {
return item.Name= "Test";
}));
任何方向都将受到赞赏。
答案 0 :(得分:2)
这是一个有效的例子,只是为了好玩。
var Results = [{
Name: "Test",
Age: 21,
ChildrenObj: {}
}, {
Name: "Something else",
Age: 21,
ChildrenObj: {}
}];
var names = (_.find(Results, function(item) {
return item.Name == "Test";
}));
console.log(names);
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
答案 1 :(得分:2)
var data = [{
Name: "Test",
Age :21
},
{ Name: "Something else",
Age :22
}];
console.log(_.findWhere(data, {Age: 22}));
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
&#13;
答案 2 :(得分:1)
试试这个:
return item.Name == "Test";
你正在做的任务不是比较。
Results: [
{ Name: "Test",
Age :21
ChildrenObj:
},
{ Name: "Something else",
Age :21
ChildreObj
}
答案 3 :(得分:1)
您可以使用过滤器
results = [
{ Name : "Test",
Age : 21,
ChildrenObj : null
},
{ Name : "Something else",
Age :21,
ChildrenObj : null
}];
var names = results.filter(x => x.Name === "Test");
console.log(names); // [ { Name: 'Test', Age: 21, ChildrenObj: null } ]