从动态选择json中的元素

时间:2011-10-10 17:20:51

标签: javascript jquery json parsing

我在php中有一个关联数组,我解析它从中获取json(json_encode)然后我将结果存储在javascript var

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

现在,当用户点击按钮时,我应该动态地从数组中选择另一个元素,例如,我选择了一个随机的第一个元素:

var an_element = myArray.a2.link;

- 'a2'是主数组中的数组

- 'link'是a2数组中的一个元素。

所以现在当用户按下我的按钮时,我想选择一个随机的其他数组id(例如a5,a9等) 我试过这个:

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

它不起作用,它说myArray.newRandomArrayID未定义。 有人可以帮忙吗? 谢谢

1 个答案:

答案 0 :(得分:6)

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

an_element = myArray[newRandomArrayID].link;

否则JS正在寻找newRandomArrayID上实际上称为myArray的属性,而不是使用变量的值来查找属性。