小编典典

如何停止Chrome和Opera通过Index ASC对JSON对象进行排序?

json

我有一个问题。

使用ajax,我使用以下命令发送了格式正确的JSON对象:

            $.ajax({
                type: "POST", 
                url: SITE_URL+'/data.php',
                dataType: "json",
                data: { ajax: 1 },
                success: function(data) {
                    console.log(data);
                }
            });

但是,Opera和Chrome尽管接收到相同的对象,但它们以不正确的顺序打印出该对象,似乎它们都按ID号执行排序,而不是单独留下!

有没有办法停止这种自动排序?

编辑,发现它是按索引号排序后,我在想最好的方法可能是不使用索引来存储object_id,而是存储要用于排序对象的ID号。

但是,我仍然想知道是否有一种方法可以停止排序。

谢谢

Edit2,我只想指出,我将以另一种方式来执行此操作,因为我感觉自己正在使用此方法滥用对象。但是,我仍然想了解为什么Opera和Chrome认为更改对象ID的顺序是他们的权利:

问题是我试图节省处理能力,可以说我们有ID的人,

1.约翰2.弗兰克3.莎莉
然而,这些人每个人都有很高的财产(和其他东西)。1.约翰180,2.弗兰克220,3.萨莉150。为了节省处理时间,我要求按人的身高对人的结果进行排序,以便获得具有其他属性的2、1、3数组。我对该数组进行JSON并将其发送到浏览器。

现在,FF将保持新的顺序People [1]仍将是John,但在For n作为人员循环中,它们将处于混乱状态。

如果我不能解决这个问题,我只需要不必在SQL阶段进行排序,而不必在JS阶段添加额外的循环和排序到数组中,尽管我想避免给浏览器带来更多压力,因为它已经是Js了页。

非常感谢


阅读 298

收藏
2020-07-27

共1个答案

小编典典

不同的浏览器以不同的方式处理对象,我的错是尝试使用构建对象的顺序作为我不应该引用的地方。

2020-07-27