Filtre sur plusieurs colonnes à l'aide d'un tuyau angulaire 2

Je suis en train de filtre Array de données basée sur plusieurs colonnes à l'aide de seulement un Pipe. Maintenant, Il filtre la première valeur de la colonne. Veuillez vérifier mon code ci-dessous et de m'aider à régler cette question.

Mon Code:

@Pipe({ name: "dataFilter", pure: false })
export class DataFilterPipe implements PipeTransform {
    transform(value: Array<any>, filter: any[]) {
        if (!filter) {
            return value;
        } else if (value) {
            return value.filter(item => {
                for (var i = 0; i < filter.length; i++) {
                    if (filter[i][1] == undefined) {
                        return true;
                    } else if ((typeof item[filter[i][0]] === 'string' || item[filter[i][0]] instanceof String) &&
                        (item[filter[i][0]].toLowerCase().indexOf(filter[i][1]) !== -1)) {
                        return true;
                    }
                    return false;
                }
            });
        }
    }
}

Je suis la transmission des données comme dataFilter : [['column1',value1],['column2',value2],['column3',value3]].

Pourriez-vous fournir un exemple de valeur? Est-il sur la forme: [{col1:"col1",col2:"col2",col3:"col3"},...,{}]?

OriginalL'auteur Jeeten Parmar | 2017-01-16