也许我错过了一些明显的东西,但我不知道我做错了什么。 我正在尝试编写一个函数,如果给定日期是英国假期,则该函数返回 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);
但警报显示错误??
最佳答案
您无法测试两个 Date 对象是否相等。
只需测试日期的时间戳,它是一个数值
function isHoliday(date){
return holidays.some(function(d) {
return (d.getTime() == date.getTime());
});
}
关于javascript - 英国假期测试不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38598146/