使用 JavaScript 中的键对对象数组进行排序

Sort an array of object with key in JavaScript

我正在尝试使用日期键对对象数组进行排序,如下所示

myArray = [{
  '2022-04-01': '0.01'
}, {
  '2022-03-31': '0.02'
}, {
  '2022-04-02': '0.05'
}]

但我想要这样的

myArray = [{
  '2022-03-31': '0.02'
}, {
  '2022-04-01': '0.01'
}, {
  '2022-04-02': '0.05'
}],

我尝试了 diff num of sols,Whosebug 上已经有,但是 none 符合我的情况。

只要这样就行了。

myArray.sort((a,b) => Object.entries(a)[0] < Object.entries(b)[0] ? -1 : 1);

运行 示例如下:

const myArray = [
  { '2022-03-31': '32.2'   }, 
  { '2022-04-01': '32.23'  }, 
  { '2022-04-02': '32.9'   }, 
  { '2022-03-30': '32.253' }, 
  { '2022-04-03': '32.253' },
  { '2022-03-18': '32.253' },
  { '2021-06-31': '32.37' }
];

myArray.sort((a,b) => Object.entries(a)[0] < Object.entries(b)[0] ? -1 : 1);

console.log(myArray);

您也可以使用 Object.keys 而不是 Object.entries,例如:

Object.keys(a)[0]