【发布时间】:2019-09-03 22:12:38
【问题描述】:
我需要按其嵌套属性按降序对这个对象数组进行排序,但我需要排序的属性“存储”在属性索引中(不确定这是否是所谓的)。我如何使用 .sort() 做到这一点?
我尝试在 stackoverflow 上搜索答案,并且有很多关于此的主题,但我找不到这个具体的答案或者我无法理解它..
我试过这段代码:
var array = [
{user:"Julia", startTime: "2019-04-09T11:22:36"},
{user:"Lisa", startTime:"2019-04-10T11:22:36"},
{user:"Hank", startTime:"2019-04-11T11:22:36"},
{user:"Hank", startTime:"2019-04-08T11:22:36"},
];
function compare(a, b) {
const startA = new Date(a.startTime).getTime();
const startB = new Date(b.startTime).getTime();
return startA + startB;
}
console.log(array.sort(compare));
【问题讨论】:
-
如果你想要一个数组,你应该省略它们
key:语法,那是对象 -
sry,这是我的第一篇文章。我到底哪里错了?
-
只要运行 sn -p - 你可以看到语法不正确。你没有正确定义数组
-
啊,我明白了。我修复了语法,但它没有解决我遇到的问题。就像你说的语法错误但问题仍然存在。幸运的是 Code Maniac 和 topheman 更正了语法并给了我答案。
-
答案在我链接到的问题中 - 请参阅页面顶部
标签: javascript arrays nested javascript-objects