为什么JSON.stringify以不同于迭代数组的顺序显示?

时间:2014-08-29 18:07:13

标签: javascript php arrays json

我正在编写一个评论系统,我希望可以选择按照我在php文件中执行的大多数upvotes进行排序,然后将数据回显到JavaScript。

当我记录下来时:

console.log(JSON.stringify(commentHopper));

评论的顺序正确,upvotes如下:900,500,300,0,0

但是,当我像这样迭代数组时:

for (var n = 0; n < commentHopper.length; n++) {
           console.log(commentHopper[n]);
}

结果按此顺序排列:0,300,900,0,500

1 个答案:

答案 0 :(得分:0)

你可能正在处理一个不是数组的对象。

尝试console.log(typeof commentHopper)

如果您想“按顺序”浏览对象,可以使用for/in语句。

for(var key in commentHopper){
    console.log(commentHopper[key]);
}