根据条件对对象组进行排序

Sort object groups based on condition

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

我在Javascript中有这个对象:

[
{
    "id": "60001",
    "name": "NORTH COLORADO MEDICAL CENTER",
    "friendly_name": "Kidney Failure - w/o CC MCC",
    "address": "1801 16TH STREET",
    "state": "CO",
    "zip": "80631",
    "service_count": "14",
    "charges": "18,381",
    "payments": "4,339",
    "distance": "49.920"
},
{
    "id": "60031",
    "name": "CENTURA HEALTH-PENROSE ST FRANCIS HEALTH SERVICES",
    "friendly_name": "Kidney Failure - w/o CC MCC",
    "address": "2222 N NEVADA AVE",
    "state": "CO",
    "zip": "80907",
    "service_count": "21",
    "charges": "18,512",
    "payments": "3,801",
    "distance": "60.961"
}
]

默认情况下,对象按"id"排序。我想按现在的状态处理对象,并按字段"name"而不是"id"升序对其进行排序。请查看以下内容以查看我希望如何显示结果。

[
{
    "id": "60031",
    "name": "CENTURA HEALTH-PENROSE ST FRANCIS HEALTH SERVICES",
    "friendly_name": "Kidney Failure - w/o CC MCC",
    "address": "2222 N NEVADA AVE",
    "state": "CO",
    "zip": "80907",
    "service_count": "21",
    "charges": "18,512",
    "payments": "3,801",
    "distance": "60.961"
},
{
    "id": "60001",
    "name": "NORTH COLORADO MEDICAL CENTER",
    "friendly_name": "Kidney Failure - w/o CC MCC",
    "address": "1801 16TH STREET",
    "state": "CO",
    "zip": "80631",
    "service_count": "14",
    "charges": "18,381",
    "payments": "4,339",
    "distance": "49.920"
}
]

假设生成的数组被称为data,它看起来像这样:

data.sort(function(a,b){
   if (a.name > b.name) return 1;
   return -1;
});

上一篇文章不正确,因为0永远不会返回。这对你的案子有效。

yourData.sort(function(a, b){
    if (a.name > b.name) {
         return 1
    }
    if (a.name < b.name) {
         return -1
    }
    else {
         return 0
    }
});