我用这个创建了一个日期数组:
var holidays = ["7/24/2010","7/25/2010"];
var holidaysArray = jQuery.makeArray(holidays);
然后测试数组中是否存在 myDate(日期对象):
if ($.inArray(myDate, holidaysArray ) == -1) {....}
但是,即使 myDate 是这两天之一,测试也始终返回 -1。我试图避免使用日期字符串来进行测试。
如何将 inArray 函数与日期对象和日期对象数组一起使用? (我不确定假期数组是否实际上是日期对象数组,也许这就是测试失败的原因。)
最佳答案
我认为您正在比较 Date
和 String
对象,这就是为什么您总是得到 false。
参见:
new Date("12/12/2000") == "12/12/2000" // this is false
编辑:
还有!请注意:
new Date("12/12/2000") == new Date("12/12/2000") // this is false too!
您应该像这样使用纪元时间值来比较日期
new Date("12/12/2000").valueOf() == new Date("12/12/2000").valueOf() // this is TRUE
关于javascript - jQuery $.inArray() 无法与使用 jQuery makeArray() 制作的数组正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3322636/