jQuery.每个对象排序

jQuery .each object ordering

本文关键字:排序 对象 jQuery      更新时间:2023-09-26

我有一个PHP文件,它为某些类抓取一个外部URL,然后将它们放入一个数组中。然后,我使用json_encode()对数组进行了编码。数组的迭代顺序是必须的,但由于某些原因,JSON没有按正确的顺序迭代。它是按降序排列的,而不是按升序排列的。

以下是返回的JSON示例:

[{
   "id":1,
   "info":
         {
            "title":"Design Prepaid cards with HD quality ",
            "titleurl":"http:'/'/www.peopleperhour.com'/job'/design-prepaid-ards-with-hd-quality-380258",
            "price":"'u00a3 400 ",
            "urgent":"Urgent",
             "jobID":"380258"
         }
 },
 {
    "id":2,
    "info":
         {
             "title":"Charted accontant",
             "titleurl":"http:'/'/www.peopleperhour.com'/job'/charted-accontant-380251",
             "price":"'u00a3 60 ",
             "urgent":"Urgent",
             "jobID":"380251"
         }
 }]

这就是我当前显示JSON:的方式

    var jsonResults = JSON.parse(data);
    var count = (jsonResults.length);
    // Iterate Through Results
    $.each(jsonResults, function(key, value)
    {
        // Display Data
        $('#resultsPanel').fadeIn('slow');
        $('#resultsPanel').prepend(
            '<div class="item" id="'+ value.info.jobID +'">'+
            '<div class="title"><a href="'+ value.info.titleurl+'" target="_blank">'+ value.info.title +'</a></div>'+
            '<div class="price">'+ value.info.price +'</div>'+
            '</div>'
        );
    });

是否可以订购JSON?

参见本部分:

$('#resultsPanel').prepend(

"prepend"的意思是"放在开头",这将颠倒你的列表(把项目1放在开头,然后把项目2放在开头等)。我很确定你的意思是:

$('#resultsPanel').append(

对象是未排序的集合。您不能以跨浏览器兼容的方式指定订单。没有原始订单的概念,除非它已经按照规则进行了排序。

因此,对服务器上的数据进行排序,然后以相同的排序顺序对其进行枚举。

编辑

正如我在下面提到的,我的jQuery知识是最少的,但也许这样的东西可以工作:

var jsonResults = JSON.parse(data);
Object.keys(jsonResults).reverse().forEach(function (key, value) {
    // do something here
});

还有一个类似的问题可能会给你答案:在javascript 中对json对象进行排序