首页 > 编程语言 > 详细

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

时间:2021-06-11 16:46:38      阅读:25      评论:0      收藏:0      [点我收藏+]
 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);

 

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

原文:https://www.cnblogs.com/saxibuni/p/14875027.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!