对数组中的嵌套对象使用 findWhere
Using findWhere with nested objects in an array
我的数据结构如下所示
var foo = [
{
bar: {
something: 123
},
baz: {
somethingElse: 321
}
},
{
bar: {
something: 444
},
baz: {
somethingElse: 555
}
}
];
然后我有一个变量:
var findMe = 444;
我想搜索我的 foo
数据结构(一个对象数组),看看 findMe
是否匹配任何一个的 bar.something
属性 foo
数组中的对象。
使用 underscore.js,我原以为下面的代码片段可以解决问题:
var _ = require('underscore');
var thingImLookingFor = _.findWhere(foo, {bar.something: findMe});
然而,这会在我的应用程序中产生语法错误:
Uncaught SyntaxError: Unexpected token .
有谁能告诉我如何实现我正在寻找的搜索吗?
谢谢!
找到了我的问题的答案。
_.find() 很好地完成了我想要的。
_.find(foo, function(obj) {
return obj.bar.something == findMe;
});
我的数据结构如下所示
var foo = [
{
bar: {
something: 123
},
baz: {
somethingElse: 321
}
},
{
bar: {
something: 444
},
baz: {
somethingElse: 555
}
}
];
然后我有一个变量:
var findMe = 444;
我想搜索我的 foo
数据结构(一个对象数组),看看 findMe
是否匹配任何一个的 bar.something
属性 foo
数组中的对象。
使用 underscore.js,我原以为下面的代码片段可以解决问题:
var _ = require('underscore');
var thingImLookingFor = _.findWhere(foo, {bar.something: findMe});
然而,这会在我的应用程序中产生语法错误:
Uncaught SyntaxError: Unexpected token .
有谁能告诉我如何实现我正在寻找的搜索吗?
谢谢!
找到了我的问题的答案。
_.find() 很好地完成了我想要的。
_.find(foo, function(obj) {
return obj.bar.something == findMe;
});