我想按日期名称对我的数组进行排序。这是我数组中的一个例子,
let data = [
{
day: "Saturday"
isOpen: false
description: "07:00 - 18:00 WIB"
},
{
day: "Sunday"
isOpen: false
description: "07:00 - 18:00 WIB"
},
{
day: "Friday"
isOpen: false
description: "07:00 - 18:00 WIB"
}
]
然后我希望我的数组是这样的
let data = [
{
day: "Friday"
isOpen: false
description: "07:00 - 18:00 WIB"
},
{
day: "Saturday"
isOpen: false
description: "07:00 - 18:00 WIB"
},
{
day: "Sunday"
isOpen: false
description: "07:00 - 18:00 WIB"
}
]
我已经阅读了 javascript 中的排序功能,但我仍然找不到如何按日期名称排序。我怎样才能做到这一点?谢谢。
您可以创建一个数组来维护日期的顺序。然后迭代这个数组并使用过滤器从data
数组中获取匹配的日期。数组过滤器将返回一个数组,因此使用扩展语法来获取内容并将其推送到sorted
数组。
const dateOrder = ['Friday', 'Saturday', 'Sunday']
let data = [{
day: "Saturday",
isOpen: false,
description: "07:00 - 18:00 WIB"
},
{
day: "Sunday",
isOpen: false,
description: "07:00 - 18:00 WIB"
},
{
day: "Friday",
isOpen: false,
description: "07:00 - 18:00 WIB"
}
];
let sorted = [];
dateOrder.forEach((item) => {
sorted.push(...data.filter(elem => elem.day === item));
});
console.log(sorted)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句