测试英国假期不起作用

时间:2016-07-26 19:15:33

标签: javascript arrays date

也许我错过了一些明显的东西,但我不知道我做错了什么。 我试图编写一个函数,如果给定的日期是英国假期,则返回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); 

但警报说错误?

1 个答案:

答案 0 :(得分:1)

您无法测试两个Date对象是否相等 只需测试日期的时间戳,这是一个数值

function isHoliday(date){
    return holidays.some(function(d) {
        return (d.getTime() == date.getTime());
    });
}