簡體   English   中英

如何使用值獲取子對象鍵?

[英]How to get child object key using a value?

我有嵌套對象如下,

 {
  "Types": {
    "TEST": {
      "name": "EC",
      "alloweMultipls": "true"
    },
    "TEST1": {
      "name": "ED",
      "alloweMultipls": "true"
    }
  }
}

如果我只有鍵"EC"而不是任何其他值,我怎么能檢索allowMyltipls

試試這種方法。 您可以獲取fileTypes對象的所有屬性,然后使用.filter函數迭代它們,並找到name等於您的key屬性。 然后用該鍵檢索嵌套對象。

 const object = { "fileTypes": { "TEST": { "name": "EC", "alloweMultipls": "true" }, "TEST1": { "name": "ED", "alloweMultipls": "true" } } }; const key = 'EC'; const fileTypes = object.fileTypes; const property= Object.keys(fileTypes).filter(item => fileTypes[item].name === key); console.log(fileTypes[property]); 

迭代你的對象並檢查'name'屬性,如果它與你想要的匹配,那么得到完整的對象。 簡單而優雅的解決方案

 var data = { "Types": { "TEST": { "name": "EC", "alloweMultipls": "true" }, "TEST1": { "name": "ED", "alloweMultipls": "true" } } }; for(d in data.Types){ if(data.Types[d].name=='EC'){ console.log(data.Types[d]); } } 

Ataur Ra​​hman,

 var data = {  "Types": {
"TEST": {
  "name": "EC",
  "alloweMultipls": "true"
},
"TEST1": {
  "name": "ED",
  "alloweMultipls": "true"
}  }}


 var allMultiplesInEC = [];


for(var i=0;i<data.Types.length-1;++i){  if(data.Types[i].name =='EC'{

 allMultiplesInEC.push(data.Types[i].alloweMultipls);}
}

console.log(allMultiplesInEC);

暫無
暫無

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

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