我有如下嵌套对象,
{
"Types": {
"TEST": {
"name": "EC",
"alloweMultipls": "true"
},
"TEST1": {
"name": "ED",
"alloweMultipls": "true"
}
}
}
如果我只有 allowMyltipls
键,而不是任何其他值,我该如何才能重新 "EC"
。
答案 0 :(得分:3)
尝试这种方法。您可以获取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]);

答案 1 :(得分:0)
迭代您的对象并检查'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]);
}
}
答案 2 :(得分:0)
Ataur Rahman,
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);