2017-11-10 9 views
1

私はこの課題を解決しようとしており、それを理解することはできません。私の矢印機能に何が問題なのですか?

がオブジェクトのジョブのアレイの上にフィルタリングし、プログラマとしての仕事と人物のオブジェクトを返すようにフィルタ法に建て使用します。ここでは

が課題です。矢印の関数をフィルタメソッドと併用してください。

最終ソリューションでES5関数宣言構文を使用しないでください。

forループは使用しないでください。

解決策のどこにでもfunctionキーワードを含めるべきではありません。ここで

が提供される配列:

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

ここでは私のコードです:

var solution = jobs.filter((programmer) => programmer === "Steve"); 

VARソリューションも提供されます。

答えて

4

filterに渡す関数では、パラメータはオブジェクトです(jobsはオブジェクトの配列なので)。文字列ではありません。 programmerはそのオブジェクトのプロパティになります。

もう1つの問題は、オブジェクトprogrammerプロパティを持っているかどうかをチェックするときに、特定の名前(Steve)をチェックしていることです。

最後に、filterの配列を返しますので、ソリューションはその配列の最初の要素になります。

これは動作します:

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

 
var solution = jobs.filter((person) => person.programmer)[0]; 
 

 
console.log(solution);

0

filterは、そのコールバック(矢印機能)にオブジェクトを渡しています。

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

 
var result = jobs.filter(obj => obj.hasOwnProperty("programmer")); 
 

 
console.log(result);

:あなたは、そのオブジェクトが hasOwnPropertyを使用して programmerという名前のプロパティを持っているかどうかを確認する必要があります
関連する問題