【问题标题】:Check Date exist in Javascript date array [duplicate]检查Javascript日期数组中存在的日期[重复]
【发布时间】:2019-06-10 13:42:44
【问题描述】:

我有一个日期对象数组,想通过 array.indexOf 方法检查提供的日期是否存在于数组中,但它总是返回 -1(未找到)。虽然日期存在于数组中。

availableDates[62] 和 Date 在我在控制台中打印时具有相同的值,但条件返回 false。

【问题讨论】:

  • 显示您的代码。不是来自控制台的屏幕截图,而是可运行的代码......
  • 我们所能做的就是猜测我们是否有您代码输出的照片。
  • 您需要使用getTime() 方法比较日期。 Compare two dates with JavaScript 的可能重复项
  • 一个new Date 不会等于另一个使用==,你需要比较一些日期值。
  • @Quantastic 我想检查日期数组中的日期。

标签: javascript jquery arrays date


【解决方案1】:

您可以使用Date​.prototype​.get​Time() 获取 Unix 时间戳以进行比较

const arr = [new Date(), new Date(), new Date(), new Date(), new Date(), new Date()];
const selectedDate = arr[1]; // choose any date here, I use this as example.

console.log(arr.some(date => date.getTime() === selectedDate.getTime())); // true

【讨论】:

  • 你正在改变 OP 正在做的事情。 OP 正在比较两个完全不同的日期对象(一个在数组中,一个在数组外创建)。您正在将一个数组项与其自身进行比较。
  • 更新了我的例子。
猜你喜欢
  • 2022-09-28
  • 1970-01-01
  • 1970-01-01
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
  • 2012-05-22
  • 2011-11-09
  • 2019-05-21
相关资源
最近更新 更多