我不太确定我在标题中使用的热量,但是我们走了。
所以我有类似的东西:
for (var key in myObject) {
var GivenName = theObject.PS_1.GivenName;
var GivenName = theObject.PS_2.GivenName;
var GivenName = theObject.PS_3.GivenName;
var GivenName = theObject.PS_4.GivenName;
// and so on...
}
所以显然我不想写那样的东西,我需要使用var键,但我没想到我该怎么做,我尝试了很多东西,但我每次都失败了,是的我很糟糕,我应该心疼。
我试过了:
var GivenName = 'theObject.'+key+'.FirstName';
var GivenName = theObject.key.FirstName;
var GivenName = theObject.[key].FirstName;
var GivenName = theObject.['key'].FirstName;
var GivenName = theObject.[+key+].FirstName;
btw Key var包含PS_1然后PS_2然后是PS_3 ......
答案 0 :(得分:2)
var GivenName = theObject[key].FirstName;
答案 1 :(得分:1)
for (var key in myObject) {
var value = myObject[key];
}
答案 2 :(得分:1)
如果您还没有机会阅读它,那么mozilla javascript文档绝对令人敬畏。 https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects
即使您熟悉大部分内容,它仍然会提供出色的参考信息。来自文档:
对象属性名称可以是有效的JavaScript字符串或任何内容 可以转换为字符串,包括空字符串。然而, 任何不是有效JavaScript标识符的属性名称(for 例如,具有空格或破折号的属性名称,或以a开头的属性名称 数字)只能使用方括号表示法访问。这个 当动态地使用属性名时,表示法也非常有用 确定(直到运行时才确定属性名称)。 示例如下:
var myObj = new Object(),
str = "myString",
rand = Math.random(),
obj = new Object();
myObj.type = "Dot syntax";
myObj["date created"] = "String with space";
myObj[str] = "String value";
myObj[rand] = "Random Number";
myObj[obj] = "Object";
myObj[""] = "Even an empty string";
console.log(myObj);