【发布时间】:2017-03-24 05:13:20
【问题描述】:
var content1 = eval ("(" + data + ")");
var content = content1.Data;
for (property in content) {console.log(content[property].name); }
我需要按降序访问这个内容数组。现在它工作正常,但不是我想要的方式。它打印数组中的第一个元素。
我想首先打印最后一个元素。 MySQL 给出了降序结果集,但是这个 for 循环首先打印第一个 id 元素。
【问题讨论】:
-
如果它是一个数组,那么你首先不应该使用
for..in。使用传统的for(var i = 0; i < content.length; i++)向前循环,然后进行明显的更改以向后循环。或content.reverse().forEach(...)或content.slice().reverse().forEach()... -
另外,您能否解释一下为什么在这种情况下使用
eval? -
因为这个数组有php对象。一个数组位置,包括一个对象。 for(内容中的属性){console.log(content[property].name,content[property].address); }
-
为什么不能使用
JSON.parse()而不是eval()? -
是的,我可以使用 JSON.parse() 。那么它如何解决我的问题
标签: javascript php mysql arrays