【GAS】google calendarで、特定の予定があるときは動作しないようにしたい
営業日だけ動かしたいプログラムがあり、google calendarに「休業日」という予定が入っている場合は動かさないようにしたいです。
どちらのコードが正しいのか確認していただきたいです
ほぼ同じプログラムを個人ブログで公開されている方のコードを拝見しましたが、納得がいかず伺っています。
以下における**「休業日かどうか(indexOf==~)」という所が、コードの下に記載の①②のどちらが正しいでしょうか**?
【候補】
①indexOf==-1
②indexOf>-1
function BusinessDay(date){ /*以下、追記*/ if (date.getDay() == 0 || date.getDay() == 6) { return false;//①平日かどうか。0が日曜日で、6が土曜日の時はfalse } var calJa = CalendarApp.getCalendarById('ja.japanese#holiday@group.v.calendar.google.com'); if(calJa.getEventsForDay(date).length > 0){ return false;//②祝日かどうか。日本の祝日カレンダーの今日の予定数が0より多い時はfalse } /*以上、追記*/ var myCalendar = CalendarApp.getCalendarById('888@gmail.com'); var todayEvents = myCals.getEventsForDay(date); var eventTitles =[]; /* イベントの数だけ繰り返し */ for(var i=0;i<todayEvents.length;i++){ eventTitles.push(todayEvents[i].getTitle()); //イベントのタイトルを配列に追加 } /* 休業日かどうか */ if(eventTitles.indexOf('休業日') == -1){ return false; } return true; }
①indexOf==-1
if(eventTitles.indexOf('休業日') == -1){ return false; } return true;
②indexOf>-1
if(eventTitles.indexOf('休業日') > -1){ return false; } return true;
私は②だと思うのですが、①でされている方がいるのでどうなのかなと思っております。
①だと、「休業日」という予定が見つからない、つまり営業日に「false」が返されてしまい、作動しないと思うので。
ご意見いただければ幸いです!
回答1件
あなたの回答
tips
プレビュー