簡體   English   中英

如何使用Typescript / Javascript / Angular 4過濾JSON數據?

[英]How to filter JSON data using Typescript / Javascript / Angular 4?

我有這樣的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'}
}]

現在,我需要過濾此數據並返回匹配的值(就像自動完成一樣)。 例如,當我獲得值CH時 ,首先需要檢查ID ,然后檢查taskname 所以返回值應該是這樣的。 必須先將ID匹配到top,然后再匹配taksname。

{taskname:'salem',      id:'che'}
{taskname:'chavvapet',  id:'chv'}
{taskname:'chennai',    id:'maa'}

如果我得到值CHE,那么我需要像這樣返回值

{taskname:'salem',      id:'che'  }
{taskname:'chennai',    id:'maa'  }

有人可以告訴我如何使用打字稿進行過濾嗎?

試過這個答案很少 ,但沒有運氣。

試試這個代碼

 const data = [ {taskname:'chennai', id:'maa',status:'Submitted'}, {taskname:'mumbai', id:'bom',status:'Resolved'}, {taskname:'delhi', id:'del',status:'Submitted'}, {taskname:'salem', id:'che',status:'In Progress'}, {taskname:'bengaluru',id:'blr',status:'Resolved'}, {taskname:'chavvapet',id:'chv',status:'Submitted'} ]; function filterByString(data, s) { return data.filter(e => e.id.includes(s) || e.taskname.includes(s)) .sort((a,b) => a.id.includes(s) && !b.id.includes(s) ? -1 : b.id.includes(s) && !a.id.includes(s) ? 1 :0); } console.log(filterByString(data, "ch")); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM