javascript - 我如何使用 sugar.js 来搜索对象中的数组?

标签 javascript arrays object sugar.js

我有一个对象数组。每个对象都是一个自治市,有它的名称、替代拼写和标识号。

var munis = [
    {
        name: 'St. Louis Hills',
        alt: 'Saint Louis Hills',
        nhdNum: 992
    },
    {
        name: 'Mount Pleasant',
        alt: 'Mt. Pleasant',
        nhdNum: 1004
    }
];

在我的应用程序中,用户可以键入名称。然后我使用 Sugar.js 搜索此数组并返回与他们键入的内容匹配的特定对象,如下所示:

var theMatch = munis.find(function(el) { 
    return el.name === userInput || el.alt === userInput; 
});

这很好用,但只允许我使用一种规范名称和一种替代拼写。我想要多个替代品,像这样:

{
    name: 'Mount Pleasant',
    alt: ['Mt. Pleasant','Mt Pleasant'],
    nhdNum: 1004
}

但我不知道如何调整 Sugar 的 .find() 来搜索这个结构。谁能帮忙?

最佳答案

只需使用Array::indexOf :

var theMatch = munis.find(function(el) { 
   return el.name === userInput ||
     el.alt.indexOf(userInput) > -1;
});

关于javascript - 我如何使用 sugar.js 来搜索对象中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19780479/

相关文章:

javascript - jQuery:使用 :hover 的简单动画

javascript - knockout js valueupdate 'afterkeydown' 事件更改不起作用

动态数组的 C++ 内存泄漏

c# - 在数组上找到 N 个连续整数,其总和(连续整数)S 是我有的整数

python - 在 python 中,如何创建一个在运行时之前未指定名称的新变量(编辑 : How do you use setattr() with a list compehension)?

javascript - 如何通过 django 中基于模板函数的 View 更改 Django 模型字段的值

javascript - requirejs 按顺序加载东西

python - numpy nonzero() 返回按行索引排序的索引?

Javascript 循环通过 JSON 对象数组

javascript - 我需要在对象数组中找到一个键并将其与正则表达式匹配