如何在对象数组中从单个对象返回单个对象属性

时间:2018-06-11 20:24:10

标签: javascript arrays object

对于令人困惑的措辞道歉,但我希望下面的代码解释更清楚,基本上我有一个对象数组:

const employees = [{
  name: 'Dave',
  role: 'IT'
}, {
  name: 'Jenny',
  role: 'Sales'
}, {
  name: 'Joel',
  role: 'Finance'
}]

现在我想创建一个函数,通过搜索他们的名字找到一个人的角色,如:

const getEmployeeRole = (employeeName, employees) => {}

所以我期待:

console.log(getEmployeeRole('Joel', employees))

返回'Finance'

我知道我可以使用:

employees.map(employees => employees.role)

获取所有3个对象的角色,但我希望它专门为单个对象生成角色。

任何帮助非常感谢

1 个答案:

答案 0 :(得分:0)

您可以使用 Array.filter() 方法:

const employees = [{
  name: 'Dave',
  role: 'IT'
}, {
  name: 'Jenny',
  role: 'Sales'
}, {
  name: 'Joel',
  role: 'Finance'
}];

var person = "Jenny";

// Just filter the array based on an employee's name
console.log(employees.filter(function(emp){
  return emp.name === person;
}));