javascript - 动态地从json中选择元素

标签 javascript jquery json parsing

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

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 未定义。 任何人都可以帮忙吗? 谢谢

最佳答案

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

an_element = myArray[newRandomArrayID].link;

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

关于javascript - 动态地从json中选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7716345/

相关文章:

ios - 数组中的零对象使程序崩溃,同样在一定计数之后

javascript - 在 Google map API 中创建条形图

Javascript用另一个元素数组过滤一个数组

javascript - 在 promise 中使用 setState 后,React 不会重新呈现

javascript - Bootstrap 的 jQuery 问题

javascript - 将变量从父函数传递给子函数

javascript - 在 Laravel 中使用 React

php - &lt;/script&gt; 在 PHP heredoc 中

javascript - 通过 javascript 定义动画线的长度

json - Vue 获取 response.json promise 不会创建响应式(Reactive) setter/getter