如何按日期倒序排列订单,使最新日期显示在顶部?
实现订单日期倒序排列的解决方案
要让订单按日期倒序(最新日期在上),你只需要在生成表格行之前,对订单数组按deliveryDate进行倒序排序即可,具体修改如下:
修改后的完整代码
const formattedTable = async (orders: Order[]) => { // 按deliveryDate倒序排序订单数组 const sortedOrders = orders.sort((a, b) => { return b.deliveryDate.getTime() - a.deliveryDate.getTime(); }); const rows = sortedOrders .map((order: Order) => `<tr> <td>${DateTime.fromJSDate(order.deliveryDate).toFormat("dd-MM-yyyy")}</td> <td>${order.code}</td> </tr>` ); // 可根据需求拼接完整表格结构并返回 return `<table>${rows.join('')}</table>`; };
关键说明
- 排序逻辑:利用数组
sort方法,通过比较两个订单日期的时间戳差值(b.deliveryDate.getTime() - a.deliveryDate.getTime()),实现倒序排列,确保最新日期的订单排在最前。 - 修复语法问题:原代码存在模板字符串未闭合、HTML标签不完整的错误,已在示例中修正(比如补全
DateTime调用的括号、正确闭合<td>标签)。
如果你的业务中实际使用的是tableOrders变量而非传入的orders,只需将排序对象替换为tableOrders即可。
内容的提问来源于stack exchange,提问作者codestarter
相关产品推荐
相关产品推荐

