使用 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]
我正在尝试使用日期键对对象数组进行排序,如下所示
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]