首页 > 解决方案 > 如何按三个属性对数据进行排序?

问题描述

我有以下数组

let arr = [
    {
        "creationDateTime": 1632180639045,
        "pricePerUnitPerHour": 12,
        "divisible": false,
    },

    {
        "creationDateTime": 2504091567119,
        "pricePerUnitPerHour": 12,
        "divisible": true,
    },

    {
        "creationDateTime": 1504095567183,
        "pricePerUnitPerHour": 5,
        "divisible": true,
    }, 
]

我需要通过这三个属性 pricePerUnitPerHour/divisible/ 和 creationDateTime 进行升序排序

因此,如果例如两个对象具有相同的值,pricePerUnitPerHour那么排序应该是可分割的属性。在divisible:true我们拥有的对象之前应该有divisible:false

最后,如果它们有两个相等的价格,则可分割属性为真,例如应根据时间戳进行排序-creationDateTime

我被困在

 tableSort() {
    this.searchFilteredData.sort(
      function (a, b) {
        return b.pricePerUnitPerHour - a.pricePerUnitPerHour;
      });
  }

标签: javascriptalgorithm

解决方案


推荐阅读