我可以通过其中一个属性的值找到对象吗?

时间:2014-06-14 20:14:26

标签: javascript jquery html

我有一个母物,里面装满了这样的物体:

profiles[ slug ] = {
    slug : slug,
    url : url,
    el : $('#' + el),
    position : this.el.position().left
};

我希望能够通过position属性引用此数组中的对象。有没有快速的方法来做到这一点,除了迭代所有这些,并将每个对象的值与我正在搜索的内容进行比较?

2 个答案:

答案 0 :(得分:1)

Underscore.js有很多实用程序可以帮助进行这些类型的查找:http://underscorejs.org/#findWhere

示例代码:

var result = _.findWhere(profiles, {position: SEARCH_VALUE});

答案 1 :(得分:0)

  

有没有快速的方法来做到这一点,除了迭代所有这些

是:您可以构建/维护一个二级索引,其中键是position,值是对象。

index = {};

for (slug in profile) {
    if (profile.hasOwnProperty(slug)) {
        index[profile[slug].position] = profile[slug];
    }
}