我正在尝试过滤一系列对象。我做错了什么。
我的管道
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;
}
这很好吗?或任何推荐的方法?
答案 0 :(得分: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;
}