2017-06-16 22 views
1

Angular2のtypecriptは、配列からオブジェクト配列に同じ値を検索します。 私は、object_array ['extraService']内にarray_valuesの値が存在する場合、それが存在していればそれを返します。 これは検索機能のいくつかのためのテンプレートを獲得するための角パイプです。 typescriptですによってtypescriptのAngular2フィルタ

let array_values = ["5", "4", "3"] 
let items = [{'name': "Marin", extraService:[5, 4]}, {'name': "Marin", extraService:[3, 4]}] 

フィルターは、出力が何であるかを

return items.filter(item => items.array_values(f => f == item.extraService)); 

ので、いくつかの例を試してみてください私の。 array_valuesだけ

let array_values = ["3"] 

であれば、リターンからの出力は次のようになります。

result = [{'name': "Marin", extraService:[3, 4]}] 

何かアドバイスや私が仕事にこれを管理する方法をサンプリングします。

答えて

3

let array_values = ["5", "4", "3"] 
 
     let items = [{'name': "Marin", extraService:[5, 4]}, {'name': "Marin", extraService:[3, 4]}]; 
 

 
     let results = items.filter(item => { 
 
      const result = item.extraService.filter(extra => { 
 
       return array_values.indexOf(extra.toString()) !== -1; 
 
      }); 
 
      if (result.length > 0) return true; 
 
      return false; 
 
     }); 
 
     console.log(results);

あなたはこのアプローチを試すことができます場合には、それはあなたの答えに一致する

let array_values = ["5", "4", "3"] 
    let items = [{'name': "Marin", extraService:[5, 4]}, {'name': "Marin", extraService:[3, 4]}]; 

    return items.filter(item => { 
     const result = item.extraService.filter(extra => { 
      return array_values.indexOf(extra.toString()) !== -1; 
     }); 
     if (result.length > 0) return true; 
     return false; 
    }); 
+0

@marin、それは答え、TKSだマークしてください。 –

+0

しかし、私は一致オブジェクトを返したい、このコードはarray_valuesを返します。 – marin

+0

私はフィルタで何をしたいのかという結果で質問を更新します。 – marin

関連する問題