过滤器箭头函数 (ES6)

PBa*_*333 2 javascript filter ecmascript-6

不知道如何准确地使用这个 .filter() 与箭头函数。

指示:

使用内置的过滤器方法来过滤对象的 jobs 数组,并返回从事程序员工作的人员的对象。确保将箭头函数与过滤器方法结合使用。

尝试过的解决方案:

var jobs = [{receptionist: "James"}, 
            {programmer: "Steve"},
            {designer: "Alicia"}];

var solution = jobs.filter(person => person === "programmer");
Run Code Online (Sandbox Code Playgroud)

Alw*_*nny 6

您可以通过多种方式来完成此操作,例如使用in、使用includes()等等。但如果我是你,我会使用hasOwnProperty尝试这种方式

hasOwnProperty() 方法返回一个布尔值,指示对象是否将指定属性作为其自己的属性(而不是继承它)。

var jobs = [{
    receptionist: "James"
  },
  {
    programmer: "Steve"
  },
  {
    designer: "Alicia"
  }
];

var solution = jobs.filter(obj => obj.hasOwnProperty('programmer'));
console.log(solution)
Run Code Online (Sandbox Code Playgroud)

in

var jobs = [{receptionist: "James"}, 
            {programmer: "Steve"},
            {designer: "Alicia"}];

var solution = jobs.filter(obj => 'programmer' in obj);
console.log(solution)
Run Code Online (Sandbox Code Playgroud)

includes

var jobs = [{receptionist: "James"}, 
            {programmer: "Steve"},
            {designer: "Alicia"}];

var solution = jobs.filter(obj => Object.keys(obj).includes('programmer'));
console.log(solution)
Run Code Online (Sandbox Code Playgroud)