2017-10-16 3 views
0

ユーザーが予約の配列の配列に既に存在する日付をクリックしたかどうかをチェックするループがあります。私の問題は、クリックされた日付がこれらの配列のいずれかの最後の日付である場合、ユーザーに警告してはならないということです。私はこれが理にかなってほしい。選択されている場合はfalseを返します。日付は最後です配列の配列の日付

ここで17をクリックすると、警告は表示されません。

enter image description here

これまでのところ私は、変数に各列の最後の日を保存しようとしましたが、私はループにこれを適用するかどうかはわかりません。現在、配列内のすべての日付は、ユーザーが選択した開始日と終了日(slutdato)と比較されます。カレンダーの色で表示する必要があるので、配列からDateを削除したくない場合もあります。

一時的な解決策:

if (dato == lastDay) { 
    return; 
} 
+1

デモコードを付けてください。 –

+0

forEachループから簡単に戻って解決策を見出せましたが、可能ならば別の方法で対応したいと思います。私はポストにコードを追加しました。 – Leth

+0

Aderfe ellinas eisai?ギアトンenikoトゥーデータ=> dato! Theoulis! –

答えて

1

何かのindexOf()JavaScriptの配列関数(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)を使用して配列している場合は、より簡単にチェックすることができます。 以下のような処理を行います。 if(array.indexOf(datetocheck)>-1) //it exists in the array これにより、これよりも簡単で高速なコードをすべて繰り返すことができなくなります。 indexOfの結果を変数に代入し、必要に応じて配列の日付のインデックスを持つこともできます。 ちょっと無関係ですが、私はまた、 new Date(dates).valueOf()を使用してすべての日付を保存することをお勧めします。これらの日付は、管理が簡単なUTCタイムスタンプで保存され、前面に表示されます。

関連する問題