如何使用Typescript/Javascript/4过滤JSON数据?
我有这样的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'} }] 现在我需
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