也许我错过了一些明显的东西,但我不知道我做错了什么。 我试图编写一个函数,如果给定的日期是英国假期,则返回true。
我创建了一个小数组来测试我的功能:
const holidays = [
new Date(2016, 0, 1), //NewYearsDay
new Date(2016, 2, 25), //GoodFriday
new Date(2016, 2, 27), //Easter
];
然后我的功能是
function isHoliday(date){
return holidays.some(function(d) {
return (d == date);
});
}
为了测试它,我跑了
date = new Date(2016, 0, 1);
var a = isHoliday(date);
alert(a);
但警报说错误?
答案 0 :(得分:1)
您无法测试两个Date对象是否相等 只需测试日期的时间戳,这是一个数值
function isHoliday(date){
return holidays.some(function(d) {
return (d.getTime() == date.getTime());
});
}