Ich versuche, einen Wert von einem Objekt zu bekommen, und ich kann es einfach nicht bekommen. Das Maximum, das ich bekomme, ist that,have
mit console.log(randomWords)
Abrufen von Werten aus Deep-Objekt
Ich bin mir sicher, dass ich hier etwas falsch mache, aber ich habe schon einige lange Stunden damit verbracht, den Fehler zu finden. Das Objekt sieht gut aus und ich kann einfach keinen Weg finden, auf diese tiefen Werte zuzugreifen.
var words = {
"that": {
"languages": {
"pt": {
"multiple_meanings": true,
"meaning": ["aquilo", "aquela"]
},
"it": {
"multiple_meanings": false,
"meaning": "quella"
}
}
},
"this": {
"languages": {
"pt": {
"multiple_meanings": true,
"meaning": ["este", "esta"]
},
"it": {
"multiple_meanings": true,
"meaning": ["questo", "questa"]
},
}
}
};
var userChoseLanguage = "pt"
var wordsKeysArr = Object.keys(words).toArray;
var wordIndex = Math.floor(Math.random() * wordsKeysArr.length);
//store a random word in randomWord
var randomWord = recipesKeysArr[factIndex];
//if user chose pt
if(userChoseLanguage == "pt"){
//if multiple_meanings = true
if(randomWord.languages.multiple_meanings===true) {
console.log("This word has more than one meaning");
}
else {
console.log(randomWord.languages.meaning);
}
}
Was Sie haben, ist nicht JSON. Es ist JavaScript. In Ihrem Beispiel ist nichts mit JSON zu tun. –
Mögliches Duplikat von [Access/process (nested) Objekte, Arrays oder JSON] (http://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or-json) –