javascript - 如何通过数组中的哈希键搜索对象

标签 javascript ember.js

我有一个数组中的对象,

如果现在我想拾取第二个对象{'name':'automating','letter':'Automating', 'num':1, 'color':'red' }

名称和值等于自动化

如何从数组中获取它?

Ember.A([
      Ember.Object.create({'name':'manual','letter':'Manual', 'num':1 }),
      Ember.Object.create({'name':'automating','letter':'Automating', 'num':1, 'color':'red' }),
      Ember.Object.create({'name':'coverage','letter':'Coverage', 'num':1,'color':'yellow' }),      
      Ember.Object.create({'name':'round','letter':'Rounds', 'num':1}),
      Ember.Object.create({'name':'roi_round','letter':'Round', 'num':1 }),
      Ember.Object.create({'name':'roi_year','letter':'Year', 'num':1}),
      Ember.Object.create({'name':'roi_round_coverage','letter':'Round"', 'num':1 }),
      Ember.Object.create({'name':'roi_year_with_coverage','letter':'Year"', 'num':10 }),
    ]);

最佳答案

使用Array.filter,例如

function findObj(arr, selector) {
    return arr.filter( function (a) {
        return a[selector.key] == selector.value;
    });
}

参见jsFiddle关于如何应用它

参见MDNArray.filter

关于javascript - 如何通过数组中的哈希键搜索对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25180235/

相关文章:

javascript - 仅在某些页面上执行 jquery 效果/操作

javascript - jQuery Blur() 不适用于 click() 函数

javascript - 单击事件后关闭汉堡菜单

javascript - Em.Controller 在 Ember.js 中的作用是什么

javascript - 你能在浏览器中执行包含的 JavaScript 吗?

ember.js - Emberjs : show outlet on certain conditional

javascript - 在 Ember 中,如何创建一个组件来响应另一个组件的操作?

javascript - 在链接正则表达式中查找单词

javascript - 如果文件不存在,则创建一个文件

ember.js - 如何在路由或 Controller 中访问 RESTAdapter 的主机和命​​名空间?