2017-05-30 5 views
1

Ich versuche, durch ein Array von Objekten zu filtern. Was mache ich falsch.Array von Objekten Filter angular2

Mein Rohr

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; 
    } 
    } 

werden meine Daten wie sein

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

ich durch die Werte gesucht werden soll.

Nach dem Posten dieser Frage kam ich zu einer Lösung.

Meine aktuelle Lösung

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; 

    } 

Ist das gut. oder eine empfohlene Methode?

Antwort

1

Kann von

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 werden
Verwandte Themen