Javascript 需要再添加一列';姓氏';用于过滤器。如果在以下代码的数据源中可用。角度数据表
因此,我知道您要做的是根据下面的值筛选一些数组,如下面的示例所示:Javascript 需要再添加一列';姓氏';用于过滤器。如果在以下代码的数据源中可用。角度数据表,javascript,angular,typescript,Javascript,Angular,Typescript,因此,我知道您要做的是根据下面的值筛选一些数组,如下面的示例所示: 现在我们可以看到一个模式在重复,我们可以概括: 请扩展您的问题并格式化您的代码。我不知道你想要什么。。。 private performFilter(filterBy: string) { filterBy = filterBy.toLocaleLowerCase(); --- returning value return this.dataSource.filter(
现在我们可以看到一个模式在重复,我们可以概括:
请扩展您的问题并格式化您的代码。我不知道你想要什么。。。
private performFilter(filterBy: string) {
filterBy = filterBy.toLocaleLowerCase();
--- returning value
return this.dataSource.filter(
(data: any) =>
data.FirstName ? data.FirstName.toLocaleLowerCase().indexOf(filterBy) !== -1 : ""
);
}
class Foo {
public dataSource: {
FirstName: string;
LastName: string;
}[] = [{
FirstName: 'Obiwan',
LastName: 'Kenobi',
}, {
FirstName: 'Bob',
LastName: 'Franklin',
}, {
FirstName: 'Anakin',
LastName: 'skywalker',
}];
public performFilter(filterBy: string) {
const toFilterBy = filterBy.toLocaleLowerCase();
return this.dataSource.filter((data) => {
// Check for FirstName
if (data.FirstName && data.FirstName.toLocaleLowerCase().indexOf(toFilterBy) !== -1) {
return true;
}
// Check for LastName
if (data.LastName && data.LastName.toLocaleLowerCase().indexOf(toFilterBy) !== -1) {
return true;
}
return false;
});
}
}
const foo = new Foo();
console.log('------- Before', foo.dataSource);
console.log('------- After', foo.performFilter('Obiwan'));
type DataSource = {
FirstName: string;
LastName: string;
};
class Foo {
public dataSource: DataSource[] = [{
FirstName: 'Obiwan',
LastName: 'Kenobi',
}, {
FirstName: 'Bob',
LastName: 'Franklin',
}, {
FirstName: 'Anakin',
LastName: 'skywalker',
}];
public performFilter(filterBy: string) {
const toFilterBy = filterBy.toLocaleLowerCase();
return this.dataSource.filter((data: DataSource) => ([
'FirstName',
'LastName',
] as (keyof DataSource)[]).some(x => data[x] && data[x].toLocaleLowerCase().indexOf(toFilterBy) !== -1));
}
}
const foo = new Foo();
console.log('------- Before', foo.dataSource);
console.log('------- After', foo.performFilter('Obiwan'));