JavaScript数组操作,使任何索引作为变量来获取值

时间:2016-02-23 12:08:36

标签: javascript arrays javascript-objects

我在javascript中有一个多维数组,jsfiddel 请检查以下代码。有些像这样的东西在php中运行但不是在javascript中,这可以在javascript中使用。

<script>
    var mydata = {'test' : 'testing'};
    var mydata2 = {'test2' : mydata};
    var myvar = 'test2';
    // This one is working
    alert(mydata2.test2.test);
    // but this is not working
    alert(mydata2.myvar.test);
</script>  

1 个答案:

答案 0 :(得分:0)

您需要bracket notation

 alert(mydata2[myvar].test);
 //           ^     ^
  

括号符号

get = object[property_name];
object[property_name] = set;
     

property_name是一个字符串。该字符串不必是有效的标识符;它可以有任何价值,例如“1foo”,“!bar!”,甚至是“”(空格)。

var mydata = { 'test': 'testing' },
    mydata2 = { 'test2': mydata },
    myvar = 'test2';

document.write(mydata2.test2.test + '<br>');
document.write(mydata2[myvar].test);