如何在TypeScript中基于今日日期过滤API返回的ReservationResponse数组?
Angular中基于今日日期过滤预订数据的实现方法
你可以通过数组的filter方法结合日期处理来实现需求,步骤如下:
生成今日起始时间
先创建今日00:00:00的时间对象,确保过滤逻辑不会因为当前时刻(比如下午)漏掉今日早间的预订记录。过滤预订数据数组
将每条预订的start_time转为Date对象,和今日起始时间对比,只保留大于等于该时间的项。
完整代码示例:
// 获取API响应数据 const ReservationResponse = await this.service.getReservation(this.username.value); // 生成今日凌晨0点的时间对象 const todayStart = new Date(); todayStart.setHours(0, 0, 0, 0); // 过滤出今日及之后的预订数据 const filteredReservations = ReservationResponse.filter(reservation => { const startTime = new Date(reservation.start_time); return startTime >= todayStart; }); // 后续用filteredReservations渲染页面即可
关键说明
new Date(reservation.start_time):把API返回的ISO格式时间字符串转为JavaScript Date对象,才能进行时间比较todayStart.setHours(0,0,0,0):重置今日时间到凌晨,避免当前时刻干扰过滤逻辑filter方法返回新数组,不会修改原ReservationResponse的内容
内容的提问来源于stack exchange,提问作者Dev
相关产品推荐
相关产品推荐

