对数组中的嵌套对象使用 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;
});