【发布时间】:2023-03-19 19:19:01
【问题描述】:
我在动态编写这段代码时遇到了问题。
如果将来数据可能有不同的键和值,我如何动态编写testtest 函数?
我的 json 对象看起来像这样:
data = [
{
name: 'John',
id: 1,
colour: 'Green',
pet: 'Dog'
},
{
name: 'Sarah',
id: 2,
colour: 'Purple',
pet: 'Cat'
},
{
name: 'Lindsay',
id: 3,
colour: 'Blue',
pet: 'Lizard'
},
{
name: 'Megan',
id: 4,
colour: 'Orange',
pet: 'Dog'
}
];
我有一个过滤器值
filterValues = {
name: '',
id: '',
colour: '',
pet: ''
};
现在是一个函数
createFilter(): (data: any, filter: string) => boolean {
let filterFunction = function(data, filter): boolean {
let searchTerms = JSON.parse(filter);
let result = this.testtest(data, searchTerms);
return result;
}
return filterFunction;
}
testtest(data, searchTerms): boolean {
return data.name.toLowerCase().indexOf(searchTerms.name) !== -1
&& data.id.toString().toLowerCase().indexOf(searchTerms.id) !== -1
&& data.colour.toLowerCase().indexOf(searchTerms.colour) !== -1
&& data.pet.toLowerCase().indexOf(searchTerms.pet) !== -1;
}
【问题讨论】:
标签: angular typescript dynamic-function