2 回答
TA贡献1829条经验 获得超7个赞
如果您只想通过传入的关联数组进行过滤,则应该简单地进行:
const test = [
{agency: 'SOME AGENCY 1', id: '1', association: '2433982101'},
{agency: 'SOME AGENCY 1', id: '2', association: '2433982101'},
{agency: 'SOME AGENCY 1', id: '3', association: '1917874801'},
{agency: 'SOME AGENCY 2', id: '4', association: '2433982101'},
{agency: 'SOME AGENCY 2', id: '5', association: '2433982101'},
{agency: 'SOME AGENCY 2', id: '6', association: '1917874801'},
{agency: 'SOME AGENCY 2', id: '7', association: '1917874801'},
{agency: 'SOME AGENCY 2', id: '8', association: '2102923701'},
{agency: 'SOME AGENCY 3', id: '9', association: '2433982101'},
{agency: 'SOME AGENCY 3', id: '10', association: '2433982101'},
{agency: 'SOME AGENCY 3', id: '11', association: '1917852501'}
];
onChange = (agency: string) => (association: string[]) => {
const filteredData = test.filter(t =>
(agency === t.agency) ? association.includes(t.association) : t
);
console.log('Filtered Data: ', filteredData);
};
onChange('SOME AGENCY 2')(['2433982101', '2102923701']);
[{机构:'SOME AGENCY 1',id:'1',关联:'2433982101'},
{agency:'SOME AGENCY 1',id:'2',association:'2433982101'},
{agency:'SOME AGENCY 1', id: '3', association: '1917874801' },
{agency: 'SOME AGENCY 2', id: '4', association: '2433982101' },
{agency: 'SOME AGENCY 2', id: '5', association: '2433982101' },
{agency: 'SOME AGENCY 2', id: '8', association: '2102923701' },
{agency: 'SOME AGENCY 3', id: '9', association: '2433982101' },
{agency: 'SOME AGENCY 3', id: '10', association: '2433982101' },
{agency: 'SOME AGENCY 3', id:'11',关联:'1917852501' } ]
TA贡献1813条经验 获得超2个赞
要获得预期的过滤器行为,请删除t.agency === agencycrtiera 以仅包含在指定association列表中具有关联的项目:
const onChange = (agency: string) => (association: string[]) => {
const filteredData = test.filter(t => association.some(a => a === t.association));
console.log('Filtered Data: ', filteredData);
}
onChange('SOME AGENCY 2')(['2433982101', '2102923701'])
这是一个工作示例供您尝试
添加回答
举报