如何使用Typescript/Javascript/4过滤JSON数据?

如何使用Typescript/Javascript/4过滤JSON数据?,javascript,angular,typescript,Javascript,Angular,Typescript,我有这样的json数据 data :[ {taskname:'chennai', id:'maa' } {taskname:'mumbai', id:'bom' } {taskname:'delhi', id:'del' } .... .... .... {taskname:'salem', id:'che'} {taskname:'bengaluru', id:'blr'} {taskname:'chavvapet', id:'chv'} }] 现在我需

我有这样的json数据

data :[
{taskname:'chennai',    id:'maa' }
{taskname:'mumbai',     id:'bom' }
{taskname:'delhi',      id:'del' }
....
....
....
{taskname:'salem',      id:'che'}
{taskname:'bengaluru',  id:'blr'}
{taskname:'chavvapet',  id:'chv'}
}]
现在我需要过滤这些数据并返回匹配值(就像自动完成一样)。例如,当我获得valueCH时,首先需要检查ID,然后检查taskname。所以返回值应该是这样的。 必须订购与top匹配的ID,然后订购与taksname匹配的ID

{taskname:'salem',      id:'che'}
{taskname:'chavvapet',  id:'chv'}
{taskname:'chennai',    id:'maa'}
如果我得到CHE值,那么我需要像这样返回值

{taskname:'salem',      id:'che'  }
{taskname:'chennai',    id:'maa'  }
有人能告诉我如何使用typescript进行过滤吗

,但运气不好。

请尝试此代码

const数据=[
{任务名称:'chennai',id:'maa',状态:'Submitted'},
{taskname:'mumbai',id:'bom',状态:'Resolved'},
{任务名:'delhi',id:'del',状态:'Submitted'},
{taskname:'salem',id:'che',status:'In Progress'},
{任务名:'bengaluru',id:'blr',状态:'Resolved'},
{任务名称:'chavvapet',id:'chv',状态:'Submitted'}
];
函数筛选器字符串(数据,s){
返回数据.filter(e=>e.id.includes)| | e.taskname.includes)
.sort((a,b)=>a.id.includes和&!b.id.includes)?-1:b.id.includes和&!a.id.includes?1:0);
}

日志(filterByString(数据,“ch”)您以前尝试过什么?它在JS中工作正常,但如果我运行相同的代码类型脚本,它只返回一个值,而不是所有匹配的值。有什么想法吗?好像是。尝试将其替换为
indexOf(s)>=0