お世話になっております。
予定日の日付入力欄がいくつかあり、その中で最小の日付を「直近の予定日」として取得しようと思っています。
下記のようなコードを書きましたが、NaNとなって取得できませんでした。
一つ一つ大小を比較すればできることはできるのですが、日付入力欄の増減に耐えられなくなるので、できれば関数で取得したいと思います。
var DateArray = new Array();
DateArray.push(record[‘日付_1’][‘value’]);
DateArray.push(record[‘日付_2’][‘value’]);
var min = Math.min.apply(null, DateArray);
window.confirm(min);
よろしくお願いします。
Koichi Ito さん
Moment.js を使っては、いかがでしょうか?
var DateArray = new Array();
!record['日付_1']['value'] || DateArray.push(moment(record['日付_1']['value']));
!record['日付_2']['value'] || DateArray.push(moment(record['日付_2']['value']));
var min = DateArray.length === 0 ? '予定なし' : moment(Math.min.apply(null, DateArray)).format('YYYY-MM-DD');
window.confirm(min);
rex0200さん
回答ありがとうございます。
配列に入れるときにもmomentが必要だったのですね。
さらに、Math.min.applyの使い方も間違っていました。
また「日付が空欄だったらどうしよう。全部の日付で確認しないと...」と心配してしたのも解決しました。
ありがとうございました。