2016-07-26 5 views
0

多分私は何か明白な行方を欠いているかもしれませんが、私は間違って何をしているのかわかりません。 Imは、指定された日付がイギリスの休日の場合にtrueを返す関数を作成しようとしています。英国の休日のためのテストは役に立たない

アイブ氏は、私の機能をテストするために、小さな配列を作成しました:

const holidays = [ 
new Date(2016, 0, 1), //NewYearsDay 
new Date(2016, 2, 25), //GoodFriday 
new Date(2016, 2, 27), //Easter 
]; 

その後、私の機能は、私は

date = new Date(2016, 0, 1); 
var a = isHoliday(date); 
alert(a); 

を走った。しかし、アラートが偽言うそれをテストする

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

のですか? ?

+1

2つのオブジェクトの数値である日のタイムスタンプをテスト日付は平等ではありません。 – gcampbell

答えて

1

2つのDateオブジェクトを同等にテストすることはできません。
ただ、例えば、

function isHoliday(date){ 
    return holidays.some(function(d) { 
     return (d.getTime() == date.getTime()); 
    }); 
} 
関連する問題