2017-05-30 17 views
1

オブジェクトの配列をフィルタリングしようとしています。私は間違って何をしています。オブジェクトの配列angle2フィルタ

マイパイプ

transform(value: any, args?: any): any { 
    if (!args) return value; 

    return value.filter(item => this.checkValues(item, args)); 
    } 

    checkValues(item, args) { 
    const value = Object.keys(item).map(k => item[k]); 

    for (var i in value) { 
     return value[i].toString().indexOf(args) > -1; 
    } 
    } 

は私のデータは、私は値を検索したい

data= [ 
{key:value}, 
{key1:value2} 
] 

のようになります。

この質問を投稿した後、私は解決策を思いついた。

transform(value: any, args?: any): any { 
    if (!args) return value; 

    return value.filter(item => this.checkValues(item, args)); 
    } 

    checkValues(item, args) { 

    const value = Object.keys(item).map(k => item[k]); 

    return JSON.stringify(value).indexOf(args) > -1; 

    } 

私の現在のソリューションは、これは良いです。または任意の推奨される方法?

答えて

1

transform(value: any, args?: any): any { 
    if (!args) return value; 

    return value.filter(item => this.checkValues(item, args)); 
    } 

    checkValues(item, args) { 

    const value = Object.keys(item).map(k => item[k]); 

    return String(value).indexOf(args) > -1; 

    } 
によってacheivedすることができます
関連する問題