我有这个要过滤的对象的 TypeScript 数组,
const test: any[] = [
{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 回调函数,
onChange = (agency: string) => (
association: string[]
) => {
}
// I am getting these values in callback
// agency = 'SOME AGENCY 2'
// association = ['2433982101', '2102923701']
// OR in another case
// agency = 'SOME AGENCY 1'
// association = ['2433982101']
我正在尝试删除回调中特定机构的关联数组中未返回的任何值。我试图通过做这样的事情来过滤数组,
onChange = (agency: string) => (
association: string[]
) => {
const filteredData = test.filter(t =>
association.some(a => a === t.association && t.agency === agency)
);
console.log('Filtered Data: ', filteredData);
}
例如,在这种情况下 1 在这里,
// agency = 'SOME AGENCY 2'
// association = ['2433982101', '2102923701']
这就是我在filteredData中得到的:
Filtered Data:
[
{agency: "SOME AGENCY 2", id: "4", association: "2433982101"},
{agency: "SOME AGENCY 2", id: "5", association: "2433982101"},
{agency: "SOME AGENCY 2", id: "8", association: "2102923701"}
]
因此,在这里简单地说,我正在尝试从“测试”数组中删除任何未包含在特定机构的关联数组字符串中的项目,同时保持所有其他机构和关联数据原样,但我不确定如何准确得到这个。
我尝试搜索相同的问题,但找不到与此类似的内容。如果之前已经回答过此类问题,我很抱歉,但如果有人可以帮助我,那就太好了。
将尝试获取可重现的演示链接并在需要时对其进行编辑,以便很容易理解我在这里想要实现的目标。
可重现的演示链接:https : //codesandbox.io/s/cool-resonance-drv0i
我在这里真正想要的是仅从选定的复选框关联编号中显示表格中的数据,因此如果我从任何框中选择或取消选择,以前从其他框中选择/取消选择的数据不应该消失。
吃鸡游戏
慕姐8265434
相关分类