Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-“;串联;在for循环中使用一个变量_Javascript_Variables_Loops_For Loop_Concatenation - Fatal编程技术网

Javascript-“;串联;在for循环中使用一个变量

Javascript-“;串联;在for循环中使用一个变量,javascript,variables,loops,for-loop,concatenation,Javascript,Variables,Loops,For Loop,Concatenation,我不太确定我在标题中使用的therm,但我们开始吧 所以我有这样的想法: 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...

我不太确定我在标题中使用的therm,但我们开始吧

所以我有这样的想法:

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;
顺便说一句,密钥变量包含PS_1、PS_2、PS_3

for (var key in myObject) {
    var value = myObject[key];
}


如果您还没有机会阅读它,mozilla javascript文档绝对棒极了。

即使你对它的大部分都很熟悉,它仍然会提供很好的参考信息。从文档中:

对象属性名称可以是有效的JavaScript字符串或任何内容 可以转换为字符串的,包括空字符串。然而 不是有效JavaScript标识符的任何属性名称(对于 例如,具有空格或破折号或以 编号)只能使用方括号表示法访问。这 当属性名要动态更新时,表示法也非常有用 已确定(直到运行时才确定属性名称)。 举例如下:


如果您还没有机会阅读它,mozilla javascript文档绝对是棒极了。

即使你对它的大部分都很熟悉,它仍然会提供很好的参考信息。从文档中:

对象属性名称可以是有效的JavaScript字符串或任何内容 可以转换为字符串的,包括空字符串。然而 不是有效JavaScript标识符的任何属性名称(对于 例如,具有空格或破折号或以 编号)只能使用方括号表示法访问。这 当属性名要动态更新时,表示法也非常有用 已确定(直到运行时才确定属性名称)。 举例如下:


你想实现什么?你想实现什么?
var GivenName = theObject[key].FirstName;
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);