forループ内にset-interval関数があり、set-interval関数内で基準を満たしている場合は、アラートを出して間隔をクリアします。以下は私のコードですが、それが機能していないので、ここで間違いが何であるかを誰もが知ることができます。
var timeCheck = 0;
function matchTime() {
for (var i=0;i<timers.length;i++) {
timeCheck = setInterval(function () {
var theDate = new Date(timers[i][0]*1000);
var now = new Date();
if ( (now.getFullYear() === theDate.getFullYear()) && (now.getMonth() === theDate.getMonth()) ) {
if ( (now.getDate() === theDate.getDate()) && (now.getHours() === theDate.getHours()) ) {
if ( now.getMinutes() === theDate.getMinutes() && (now.getSeconds() === theDate.getSeconds()) ) { alert("its Time for "+timers[i][1]); stopCheck(); }
}
}
}, 10);
}
}
function stopCheck() { clearInterval(timeCheck); }
ありがとう。
私が解決しようとしているのは、現地時間がtimers配列(列0; timers [count] [0])の時刻と一致するたびにアラートを受け取る必要があるということです。配列はすでにソートされています
timers.sort(function(a,b) { return a[0] - b[0]; });