为什么JSON.stringify的显示顺序与遍历数组的顺序不同


Why does JSON.stringify display in a different order than iterating through an array?

我正在编写一个注释系统,我希望可以选择按大多数赞成票进行排序,这是我在php文件中所做的,然后将数据返回到JavaScript。

当我记录这个:

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

评论的顺序正确,支持票如下:900500300,0

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

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

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

您可能处理的是一个对象而不是数组。

尝试console.log(typeof commentHopper)

如果您想"按顺序"遍历对象,可以使用for/in语句。

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