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

标签 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 数组内任何对象的属性。

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

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

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

未捕获的语法错误:意外的标记。

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

谢谢!

最佳答案

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

_.find() 很好地完成了我想要的事情。

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

关于javascript - 将 findWhere 与数组中的嵌套对象一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34583939/

相关文章:

javascript - 未捕获的TypeError : Cannot read property 'transaction' of null with an indexeddb

javascript - Backbone 模型如何从 Ajax 结果触发事件?

javascript - underscore.js - 从对象列表中嵌入的对象创建唯一项目的数组

javascript - 从对象列表中根据另一个列表更新属性 underscorejs

javascript - 如何将 JavaScript 中的对象关联或关联到 HTML 元素?

javascript - Array.includes 的功能使用会导致 TypeError

javascript - Node Express 中的 URL 参数重写

javascript - 如何自定义nuxt默认的html模板

javascript - 迭代对象数组并用数组中的值替换值

javascript - 比较和分配数字