对象数组按多个属性权重排序

 1 ///原始数据
 2 var homes = [{
 3    "h_id": "4",
 4    "minimumorder": "12",
 5    "price": "17"
 6     }, {
 7    "h_id": "4",
 8    "minimumorder": "1",
 9    "price": "20"
10 }, {
11    "h_id": "5",
12    "minimumorder": "1",
13    "price": "18.10"
14 }, {
15    "h_id": "4",
16    "minimumorder": "1",
17    "price": "30"
18 }];
///优先以minimumorder属性降序排序,如果minimumorder值相同,则以h_id降序排序, 如果h_id属性值相同, 则以price降序排序
var result = homes.sort((a, b) => {
  if (b.minimumorder != a.minimumorder) {
    return b.minimumorder - a.minimumorder;
  }
  if (b.h_id != a.h_id) {
    return b.h_id - a.h_id;
  } 
  if (b.price != a.price) {
    return b.price - a.price;
 } 
});

console.log(result);

 

posted @ 2021-06-11 14:39  saxibuni  阅读(142)  评论(0编辑  收藏  举报