使用 JavaScript 检查数组中是否包含日期

使用 JavaScript 检查日期是否包含在数组中

Check if a Date is contained in an Array using JavaScript

检查日期是否包含在数组中:

  1. 使用该find()方法遍历数组。
  2. 在每次迭代中,检查日期的时间戳是否等于特定值。
  3. 如果未找到日期,则该find方法返回undefined
索引.js
const arr = [ new Date('2022-03-11'), new Date('2022-04-24'), new Date('2022-09-24'), ]; const date = arr.find( date => date.getTime() === new Date('2022-04-24').getTime(), ); console.log(date); // 👉️ Sun Apr 24 2022

我们传递给Array.find方法的函数

会针对数组中的每个元素(日期)进行调用,直到它返回真值或遍历所有元素。

如果函数返回真值,则返回相应的数组元素。

另一方面,如果从未满足条件,则该find方法返回
undefined

该示例检查数组中是否包含特定日期(包括时间)。

检查日期是否在数组中,忽略时间

如果只想检查日期是否在数组中,忽略时间,使用toDateString比较时的方法。

索引.js
const arr = [ new Date('2022-03-11'), new Date('2022-04-24'), new Date('2022-09-24'), ]; const date = arr.find( date => date.toDateString() === new Date('2022-04-24T09:35:31.820Z').toDateString(), ); console.log(date); // 👉️ Sun Apr 24 2022

toDateString方法以人类可读的形式返回对象日期部分。Date

索引.js
// 👇️ Wed Jan 26 2022 console.log(new Date().toDateString());

如果该方法为两个日期返回相同的字符串,则这两个日期具有相同的年、月和日值。

这种方法使我们能够在不考虑时间的情况下比较日期。

额外资源

您可以通过查看以下教程来了解有关相关主题的更多信息: