js:如何判断时间2024/6/12在数组["2022/06/30", "2023/08/30", "2023/08/30", "2023/12/30", "2024/07/15"]中比它大的第一个日期的下标
时间: 2024-06-16 07:01:29 浏览: 130
JS判断当前日期是否大于某个日期的实现代码
5星 · 资源好评率100%
在 JavaScript 中,你可以使用 `Array.prototype.findIndex()` 或 `Array.prototype.indexOf()` 方法结合日期比较来找到指定日期之前数组中较大的日期的索引。这里我们先假设你想要找到比 "2024/06/12" 更大的第一个日期,如果不存在则返回数组长度(表示之后没有更大的日期)。
以下是一个示例代码:
```javascript
function findIndexAfterDate(dateString, datesArray) {
// 将输入字符串转换为日期对象
const targetDate = new Date(dateString + ' 00:00:00');
// 尝试使用 findIndex,如果找不到更大日期则返回-1
let index = datesArray.findIndex((date) => {
const dateObj = new Date(date + ' 00:00:00');
return dateObj > targetDate;
});
// 如果 findIndex 返回 -1,说明数组中的所有日期都小于或等于目标日期
if (index === -1) {
// 返回数组长度,表示之后没有更大的日期
index = datesArray.length;
}
return index;
}
// 使用给定的日期和数组
const datesArray = ["2022/06/30", "2023/08/30", "2023/08/30", "2023/12/30", "2024/07/15"];
const targetDate = "2024/06/12";
const resultIndex = findIndexAfterDate(targetDate, datesArray);
console.log('大于 "2024/06/12" 的第一个日期的下标是:', resultIndex);
```
阅读全文