【问题标题】:Sort all arrays inside object by another arrays with dates [duplicate]按另一个带有日期的数组对对象内的所有数组进行排序[重复]
【发布时间】:2021-10-26 11:10:20
【问题描述】:

我有这样的对象:

const test = {
  data1: ["3", "2", "1"],
  data2: ["lorem", "ipsum", "dolor"],
  date: ["2021.01.01", "2022.02.02", "2023.03.03"],
};

我知道如何对日期数组本身进行排序。但是如何让test.data1和test.data2的顺序在日期排序后也发生变化呢?

【问题讨论】:

  • 有没有理由不使用对象?
  • 已经排序。不是
  • 你喜欢排序吗?
  • 你能发布你到目前为止所尝试的吗?这样我们就可以帮助您解决您遇到的问题
  • 按日期升序或降序排序。并一次性排序。

标签: javascript


【解决方案1】:

查看sandbox

const test = {
  data1: ["3", "2", "1"],
  data2: ["lorem", "ipsum", "dolor"],
  date: ["2021.01.01", "2022.02.02", "2023.03.03"],
};
var test1 = test.data1.sort();
var test2 = test.data2.sort();
console.log(test1, test2)

修改:

function sortByDate(a, b) {
    if (a < b) {
        return -1;
    }
    if (a > b) {
        return 1;
    }
    return 0;
}
var test = {
  data1: ["3", "2", "1"],
  data2: ["lorem", "ipsum", "dolor"],
  date: ["2021.01.01", "2023.03.03", "2022.02.02"],
};

const sorted = test.date.sort(sortByDate);
console.log(sorted);

附:对于高级排序,您需要检查Array.sort

【讨论】:

  • 不按日期排序...
猜你喜欢
  • 2015-02-25
  • 2019-06-11
  • 1970-01-01
  • 1970-01-01
  • 2017-04-19
  • 1970-01-01
  • 2018-02-09
  • 1970-01-01
  • 2017-05-21
相关资源
最近更新 更多