在javascript数组的每个对象中选择一个字段
Selecting a field in every object of a javascript array
我有一个身份验证方案,允许一个用户是多个公司的雇员。因此,当他们通过access_token
进行身份验证时,该access_token
允许他们在他们任职的任何一家公司进行交易。所以基本上用户有一个登录,他们可以与他们所有的公司互动,而不需要注销。
每当他们试图采取行动时,我需要确保他们是他们试图改变的公司的员工。
authorization函数在回调函数中有一个employees
对象。这个列表是这样的:
[ { _id: 555c990c37b3af9214754416,
company: 555c97d6b0b7e88d140810c6,
user: 555c990c37b3af9214754415,
__v: 0,
date_added: Wed May 20 2015 10:23:07 GMT-0400 (EDT),
permissions: { write: true, read: true } },
{ _id: 555c994937b3af921475441b,
company: 555c992537b3af9214754417,
user: 555c990c37b3af9214754415,
__v: 0,
date_added: Wed May 20 2015 10:23:07 GMT-0400 (EDT),
permissions: { write: true, read: true } } ]
这将在每次调用API时完成,也就是说,将检查用户的employee
对象列表;所以我想从每个对象中以最快和最简单的方式选择公司字段。虽然这可以很容易地完成使用for循环和编译company
列表,我需要它更干净。
对于这种类型的东西是否有一个行符,一种方法来选择字段在每个索引不循环,或在后台循环完成?
lodash和类似的库提供pluck
,它应该做您想做的:
var companies = _.pluck(employees, 'company');
这将为您提供一个bool
,用于该员工是否在公司。这种方法的好处是,当找到true时,它会短路退出循环。
var isInCompany = _.some(employees, function(employee){
employee.company === companyId;
});
根据您支持的浏览器(IE9+),您也可以使用本机对象。https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/some
也许你可以使用数组。映射函数:
yourList.map(function(obj){return obj.company})
这将返回所有公司的列表。
相关文章:
- 而循环只设置php中输入字段中的第一个值
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- Angular ng repeat order将多个字段作为一个字段
- 如何将Date字段设置为等于另一个Date+Int值,该值表示月份值
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- 可以't无法将一个字段复制到另一个字段
- 创建一个带有可变字段的json对象
- 如何隐藏&使用jQuery禁用依赖于另一个字段值的字段
- 简单的Javascript方式,在输入字段的每5位数字后添加一个空格
- 为什么regex只验证字段中的一个字符,而不是所有输入的字符
- 如何在单击时从输入字段中删除最后一个字符
- 我有一个字段计算,如果结果低于 60,则需要显示最小值
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- javascript绑定另一个select2输入字段rails的select2 inputonchange事件的数据
- 在页面的页脚处添加了一个额外的输入字段
- jQuery将输入集中在下一个tr->td时,td包含一个输入字段,但从不关注html选择
- 给一系列克隆复选框字段一个唯一名称的困难- javascript