Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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 如何使用web语言将一个变量转换为另一个变量的名称_Javascript_Jquery_Json_Ajax_Concatenation - Fatal编程技术网

Javascript 如何使用web语言将一个变量转换为另一个变量的名称

Javascript 如何使用web语言将一个变量转换为另一个变量的名称,javascript,jquery,json,ajax,concatenation,Javascript,Jquery,Json,Ajax,Concatenation,我缺乏这些语言的一些基础知识,所以这可能是一个简单的问题 我从一个ajax调用接收一个json编码的对象数组。在开始时,我添加了一些我需要的元素: array_unshift($data, array('nbr' => 6,'Col1' => 'Company name', 'Col2' => 'Email','Col3' => 'Adress','Col4' => 'City', 'Col5' => 'Code','Col6' => 'Country

我缺乏这些语言的一些基础知识,所以这可能是一个简单的问题

我从一个ajax调用接收一个json编码的对象数组。在开始时,我添加了一些我需要的元素:

array_unshift($data, array('nbr' => 6,'Col1' => 'Company name', 
'Col2' => 'Email','Col3' => 'Adress','Col4' => 'City',
'Col5' => 'Code','Col6' => 'Country));
在ajax的success:functionmsg中,我希望迭代这些元素,使它们成为表的标题:

var qtt=msg[0].nbr;
$foo='<table>';
for (var i = 1; i<qtt; i++) {
    $foo=$foo+'<th>'+msg[i].Col+i+'</th>';
}
$foo=$foo+'</table>;
安塞尔: 无需遍历msg[],因为我想要访问的所有信息都在msg[0]中


使用msg[0]['Col'+i]非常有效。

如果您试图动态访问属性名,可以使用属性名为字符串的索引器:

$foo=$foo+'<th>'+msg[i].Col+i+'</th>';
变成

$foo=$foo+'<th>'+msg[i]['Col' + i]+'</th>';
msg[i].Col+i您的原始代码正在查找名为Col的属性,并试图将Col的值添加到i的值中

第二个示例是构建动态属性名'Col'+i,并使用括号访问msg[i]对象上该名称的属性


我没有收到任何错误,但它返回的不是公司名称、电子邮件或其他任何内容,而是未经罚款的。我花了一些时间来回答,因为我试图解决这个问题,但我找不到这个问题的根源。有什么想法吗?补充:我检查了消息是否包含正确的数据,每个消息包含两美元和一个警报。这方面没有问题。@Alexanderivara在循环中时,您能提供对象结构吗?e、 例如,设置断点,在Chrome on windows中打开控制台窗口F12,然后键入msg[i]。这将向您显示对象结构,并允许您展开或折叠属性。很抱歉,我尝试了展开或折叠属性,但包含循环的文件未列在调试器可用的源文件中。我没有时间学习如何使用firefox的开发者界面,所以调试器对我来说仍然是一种奢侈品。我在回答时发现了这个问题!你的回答很有用,谢谢。我试着从1开始联系msg[I]。但是看看msg的结构,我意识到我添加的所有信息都在msg[0]中,不需要迭代该部分!这解决了一切。非常感谢你。
$foo=$foo+'<th>'+msg[i]['Col' + i]+'</th>';