2011-10-10 126 views
1

我有一个在PHP的关联数组,我分析从它那里得到(json_encode)JSON然后我把结果保存在一个JavaScript变种从JSON选择元素动态

var myArray = <?php print json_encode($phpArray); ?>; 

现在whene用户打一个按钮我应该动态地选择从阵列另一元件时,例如,我选择一个随机第一元件:

var an_element = myArray.a2.link; 

-'a2' 是主阵列

-'link以阵列”是在一个元件a2阵列。

所以现在whene用户打我的按钮,我想选择一个随机的其他阵列ID(例如A5,A9等) 我尝试这样做:

var randomnumber=Math.floor(Math.random()*101); // choose random number 
var newRandomArrayID= "a"+randomnumber; 
an_element = myArray.newRandomArrayID.link; 

它不工作,它说myArray.newRandomArrayID是未定义的。 任何人都可以提供帮助吗? 谢谢

+2

可能重复[动态对象属性名称](http://stackoverflow.com/questions/4244896/dynamic-object-property-name) –

回答

6

您需要使用[]索引来查找名称属性:

an_element = myArray[newRandomArrayID].link; 

否则JS正在寻找一个真正呼吁myArraynewRandomArrayID属性,而不是使用变量的值来查找财产。

+0

KO Prefect it works :)我无法检查它的答案,直到10 min passe(计算器规则):p谢谢 – john