【问题标题】:sorting json object data [duplicate]排序json对象数据[重复]
【发布时间】:2014-12-21 15:00:55
【问题描述】:
var json = $.parseJSON(data);
var serializedMyObj = JSON.stringify(json);
console.log(serializedMyObj); 

我在控制台中显示了 json 对象,如下所示。现在我想按价格对其进行排序。

[{
    "name": "HTC 816",
    "Manufacture": "htc",
    "price": "45.00",
    "url": "images/products/htc-desire-816-400x400.jpeg",
    "productId": "543J423"
}, {
    "name": "HTC 616",
    "Manufacture": "htc",
    "price": "55.00",
    "url": "images/products/htc-desire-616.jpeg",
    "productId": "543J424"
}, {
    "name": "HTC 716",
    "Manufacture": "htc",
    "price": "32.00",
    "url": "img/list grid.png",
    "productId": "543J425"
}, {
    "name": "HTC 416",
    "Manufacture": "htc",
    "price": "70.00",
    "url": "img/list grid.png",
    "productId": "543J426"
}, {
    "name": "HTC 316",
    "Manufacture": "htc",
    "price": "99.00",
    "url": "",
    "productId": "543J427"
}, {
    "name": "HTC 216",
    "Manufacture": "htc",
    "price": "45.00",
    "url": "",
    "productId": "543J428"
}, {
    "name": "HTC ONE",
    "Manufacture": "htc",
    "price": "25.00",
    "url": "images/products/htc-one-v.jpeg",
    "productId": "543J429"
}, {
    "name": "HTC EYE",
    "Manufacture": "htc",
    "price": "60.00",
    "url": "",
    "productId": "543J430"
}, {
    "name": "HTC DESIRE",
    "Manufacture": "htc",
    "price": "102.00",
    "url": "",
    "productId": "543J431"
}]

【问题讨论】:

    标签: javascript jquery json html


    【解决方案1】:

    使用Array.sort:

    var arr = [{
        "name": "HTC 816",
        "Manufacture": "htc",
        "price": "45.00",
        "url": "images/products/htc-desire-816-400x400.jpeg",
        "productId": "543J423"
    }, {
        "name": "HTC 616",
        "Manufacture": "htc",
        "price": "55.00",
        "url": "images/products/htc-desire-616.jpeg",
        "productId": "543J424"
    }, {
        "name": "HTC 716",
        "Manufacture": "htc",
        "price": "32.00",
        "url": "img/list grid.png",
        "productId": "543J425"
    }, {
        "name": "HTC 416",
        "Manufacture": "htc",
        "price": "70.00",
        "url": "img/list grid.png",
        "productId": "543J426"
    }, {
        "name": "HTC 316",
        "Manufacture": "htc",
        "price": "99.00",
        "url": "",
        "productId": "543J427"
    }, {
        "name": "HTC 216",
        "Manufacture": "htc",
        "price": "45.00",
        "url": "",
        "productId": "543J428"
    }, {
        "name": "HTC ONE",
        "Manufacture": "htc",
        "price": "25.00",
        "url": "images/products/htc-one-v.jpeg",
        "productId": "543J429"
    }, {
        "name": "HTC EYE",
        "Manufacture": "htc",
        "price": "60.00",
        "url": "",
        "productId": "543J430"
    }, {
        "name": "HTC DESIRE",
        "Manufacture": "htc",
        "price": "102.00",
        "url": "",
        "productId": "543J431"
    }];
    
    arr.sort(function(a,b){return a.price - b.price});
    console.log(arr);
    

    JSFIDDLE

    【讨论】:

      【解决方案2】:
      json.sort(function(a, b) { return a.price - b.price; });//sort ascending
      

      【讨论】:

      • @RGraham 确实有效。它接受任何正数和负数,因此可以进行简单的减法。阅读您自己的链接中的文章。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-18
      • 2012-01-04
      • 1970-01-01
      • 2021-03-11
      • 2023-01-19
      • 1970-01-01
      相关资源
      最近更新 更多