JavaScript 数组操作,将任意索引作为变量获取值

JavaScript array manipulation, making any index as variable to get value

我在 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>  

为此你需要 bracket notation:

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

Bracket notation

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

property_name is a string. The string does not have to be a valid identifier; it can have any value, e.g. "1foo", "!bar!", or even " " (a space).

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

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