美文网首页
js sort 根据两个字段为条件排序

js sort 根据两个字段为条件排序

作者: 古城老巷_li | 来源:发表于2021-12-11 18:31 被阅读0次
栗子
const arr = [
    {
        name: '一',
        outdate_days: 0,
        surplus_days: 1
    },
    {
        name: '二',
        outdate_days: 3,
        surplus_days: 0
    },
    {
        name: '三',
        outdate_days: 2,
        surplus_days: 0
    }
]
arr.sort((a, b) => {
  if (a.outdate_days <= 0) {
    if (b.outdate_days <= 0) {
      return a.surplus_days - b.surplus_days
    } else {
      return a.surplus_days - b.outdate_days
    }
  }
  if (a.surplus_days <= 0) {
    if (b.surplus_days <= 0) {
      return a.outdate_days - b.outdate_days
    } else {
      return a.outdate_days - b.surplus_days
    }
  }
})
//  结果
[
    {
        "name": "一",
        "outdate_days": 0,
        "surplus_days": 1
    },
    {
        "name": "三",
        "outdate_days": 2,
        "surplus_days": 0
    },
    {
        "name": "二",
        "outdate_days": 3,
        "surplus_days": 0
    }
]

相关文章

  • js sort 根据两个字段为条件排序

    栗子

  • elasticsearch 排序

    1、字段值排序:按照时间排序: 2、字段参数排序:GET /_search?sort=date:desc&sort...

  • Elasticsearch sort排序子句 --- 2022-

    ES的默认排序是根据相关性分数排序,如果我们想根据查询结果中的指定字段排序,需要使用sort Processors...

  • mysql ESR原则

    ESR原则 精确(equal)匹配的字段放在最前面,排序(sort)条件放中间,范围(range)匹配的字段放在最...

  • js 随机打乱数组

    方法一. 利用 sort 排序,排序条件为:0.5 - Math.random() Math.random() 函...

  • JS数组排序

    JS数组排序方法有两个:reverse()和sort(),其中reverse()可将数组进行倒序,而sort()则...

  • js中的数组对象排序

    一、普通数组排序 js中用方法sort()为数组排序。sort()方法有一个可选参数,是用来确定元素顺序的函...

  • js中的数组对象排序(存稿)

    一、普通数组排序 js中用方法sort()为数组排序。sort()方法有一个可选参数,是用来确定元素顺序的函...

  • 6.数组排序

    一、普通数组排序 js中用方法sort()为数组排序。sort()方法有一个可选参数,是用来确定元素顺序的函数。如...

  • ts 数组排序

    一、普通数组排序 js中用方法sort()为数组排序。sort()方法有一个可选参数,是用来确定元素顺序的函数。如...

网友评论

      本文标题:js sort 根据两个字段为条件排序

      本文链接:https://www.haomeiwen.com/subject/nuzkfrtx.html