使用 JavaScript 检查日期是否包含在数组中
Check if a Date is contained in an Array using JavaScript
检查日期是否包含在数组中:
- 使用该
find()
方法遍历数组。 - 在每次迭代中,检查日期的时间戳是否等于特定值。
- 如果未找到日期,则该
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());
如果该方法为两个日期返回相同的字符串,则这两个日期具有相同的年、月和日值。
这种方法使我们能够在不考虑时间的情况下比较日期。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: