簡體   English   中英

過濾 Object 和 Typescript 中的返回鍵

[英]Filter an Object and Return Key in Typescript

我有一個要過濾的 object,它應該返回一個具有特定 ID 的密鑰。 ID 是唯一的。 需要一個有效的邏輯來返回這個預期的 output。要過濾的 Object。

{
  "a":[{"id":"1123","value":"test1"}],
  "b":[{"id":"1124","value":"test2"}],
  "c":[{"id":"1125","value":"test3"}]
  
}

輸入 ID :“1124”

Expected Output  : 'b'

 let data = { "a":[{"id":"1123","value":"test1"}], "b":[{"id":"1124","value":"test2"}], "c":[{"id":"1125","value":"test3"}] }; let input = "1124"; let result = Object.entries(data).filter(([k,v]) => v[0].id === input)[0][0]; console.log(result);

這里的效率:

  • 一旦發現東西就打破循環
  • 對有 id 的 object 不感興趣,只檢查那里有那個 id

 o = { "a":[{"id":"1123","value":"test1"}], "b":[{"id":"1124","value":"test2"}], "c":[{"id":"1125","value":"test3"}] } for (key in o) { if (o[key].some(x => x.id === '1124')) { console.log(key); break; } }

 const input = "1124" const obj = { "a":[{"id":"1123","value":"test1"}], "b":[{"id":"1124","value":"test2"}], "c":[{"id":"1125","value":"test3"}] } Object.values(obj).filter((ob, i)=>{if(ob[0].id === input){console.log(Object.keys(obj)[i])}})

暫無
暫無

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

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