使用动态键对数组进行排序

Mic*_*son 0 javascript arrays node.js

我试图找到一种方法来对一个没有 Lowdash 的具有动态键的数组进行排序。有什么建议?

我正在尝试按字段排序 unix_start

"chart": [
  {
      "Nov 24, 2020": {
          "a": 1,
          "b": 0,
          "c": 0,
          "unix_start": 1606194000,
          "unix_end": 1606280400
      }
  },
  {
      "Nov 23, 2020": {
          "a": 0,
          "b": 2,
          "c": 1,
          "unix_start": 1606107600,
          "unix_end": 1606194000
      }
  },
  {
      "Nov 22, 2020": {
          "a": 0,
          "b": 0,
          "c": 0,
          "unix_start": 1606021200,
          "unix_end": 1606107600
      }
  },
}
Run Code Online (Sandbox Code Playgroud)

Maj*_*awi 5

您可以使用.sort

const chart =  [
  {
      "Nov 24, 2020": {
          "a": 1,
          "b": 0,
          "c": 0,
          "unix_start": 1606194000,
          "unix_end": 1606280400
      }
  },
  {
      "Nov 23, 2020": {
          "a": 0,
          "b": 2,
          "c": 1,
          "unix_start": 1606107600,
          "unix_end": 1606194000
      }
  },
  {
      "Nov 22, 2020": {
          "a": 0,
          "b": 0,
          "c": 0,
          "unix_start": 1606021200,
          "unix_end": 1606107600
      }
  },
]

const sortedArray = chart.sort((a,b) => {
  const [valueOfA] = Object.values(a);
  const [valueOfB] = Object.values(b);
  return valueOfA.unix_start - valueOfB.unix_start;
});

console.log(sortedArray);
Run Code Online (Sandbox Code Playgroud)