将findWhere与数组中的嵌套对象一起使用

时间:2016-01-04 02:30:07

标签: javascript underscore.js

我有一个看起来像这样的数据结构

var foo = [
    {
        bar: {
            something: 123
        },
        baz: {
            somethingElse: 321
        }
    },
    {
        bar: {
            something: 444
        },
        baz: {
            somethingElse: 555
        }
    }
];

然后我有一个变量:

var findMe = 444;

我想搜索我的foo数据结构(一个对象数组),看看findMe是否与bar.something内的任何对象的foo属性匹配{1}}数组。

使用underscore.js,我认为以下代码片段可以解决这个问题:

var _ = require('underscore');
var thingImLookingFor = _.findWhere(foo, {bar.something: findMe});

但是,在我的应用程序中会产生语法错误:

Uncaught SyntaxError: Unexpected token .

是否有人能够阐明我如何实现我正在寻找的搜索?

谢谢!

1 个答案:

答案 0 :(得分:1)

找到我的问题的解决方案。

_。find()做得很好。

_.find(foo, function(obj) {
    return obj.bar.something == findMe;
});