我正在努力应对这一挑战,无法解决。
这是挑战:
使用内置的filter方法过滤对象的jobs数组,并以程序员的身份返回有工作的人的对象。确保将箭头功能与过滤方法结合使用。
最终解决方案中不应使用ES5函数声明语法。
不应该使用for循环。
解决方案中的任何地方都不应使用function关键字。
这是提供的数组:
var jobs = [{receptionist: "James"},
{programmer: "Steve"},
{designer: "Alicia"}];
这是我的代码:
var solution = jobs.filter((programmer) => programmer === "Steve");
还提供了var解决方案。
最佳答案
在传递给filter
的函数中,参数是一个对象(因为jobs
是对象的数组),而不是字符串。 programmer
是该对象的属性。
另一个问题是,当您应检查对象是否具有programmer
属性时,代码正在检查特定名称(Steve)。
最后,请记住filter
返回一个数组,因此您的解决方案将是该数组的第一个元素。
这有效:
var jobs = [{receptionist: "James"},
{programmer: "Steve"},
{designer: "Alicia"}];
var solution = jobs.filter((person) => person.programmer)[0];
console.log(solution);