2017-08-29 4 views
1

I Objekt verschachtelt sind wie folgt,Wie Kind-Objektschlüssel mit einem Wert erhalten?

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

wie kann ich retrive allowMyltipls, wenn ich nur den Schlüssel "EC" keinen anderen Wert haben.

Antwort

3

Versuchen Sie diesen Ansatz. Sie können alle Eigenschaften des Objekts fileTypes abrufen und dann über sie mit der Funktion .filter iterieren und die Eigenschaft finden, für die name Ihrem key entspricht. Dann mit diesem Schlüssel das verschachtelte Objekt abrufen.

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]);

0

Iterate über das Objekt und überprüfen Sie die Eigenschaft ‚Name‘, wenn sie die volle Objekt erhalten auf Ihren Wunsch passt dann. Einfache und elegante Lösung.

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]); 
 
    } 
 
}

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); 
Verwandte Themen