首页 > 解决方案 > 基于倒数第二个字符的自动颜色谷歌日历事件标题

问题描述

我正在尝试根据标题中的倒数第二个字符自动为事件着色,当前函数能够使用最后一个字符执行此操作,因为使用了 endsWith,但是有没有办法改变它,所以它读取倒数第二个字符而不是最后一个。

function ColorEvents() {

  var calendar = CalendarApp.getCalendarById("ID@group.calendar.google.com")
  var beginDate = new Date(2019, 0, 1); 
  var endDate = new Date(2080, 10, 1);
  Logger.log("found number of calendars: " + calendar.length);

    var events = calendar.getEvents(beginDate, endDate);
    for (var j=0; j<events.length; j++) {
      var e = events[j];
      var title = e.getTitle();
      if (title.toLowerCase().endsWith("a")) {
        e.setColor(CalendarApp.EventColor.RED);
      }

标签: google-apps-scriptcalendargoogle-calendar-api

解决方案


工作代码看起来像这样,非常感谢@Tanaike

function ColorEvents() {

  var calendar = CalendarApp.getCalendarById("ID@group.calendar.google.com")
  var beginDate = new Date(2019, 0, 1); 
  var endDate = new Date(2080, 10, 1);
  Logger.log("found number of calendars: " + calendar.length);

    var events = calendar.getEvents(beginDate, endDate);
    for (var j=0; j<events.length; j++) {
      var e = events[j];
      var title = e.getTitle();

      if (title.toLowerCase().endsWith("", [title.length-2])) {
        e.setColor(CalendarApp.EventColor.RED);
      }
      if (title.toLowerCase().endsWith("", [title.length-2])) {
        e.setColor(CalendarApp.EventColor.YELLOW);
      }
      if (title.toLowerCase().endsWith("", [title.length-2])) {
        e.setColor(CalendarApp.EventColor.GREEN);
      }
        if (title.toLowerCase().endsWith("", [title.length-2])) {
        e.setColor(CalendarApp.EventColor.MAUVE);
      }
      if (title.toLowerCase().endsWith("️&quot;, [title.length-2])) {
        e.setColor(CalendarApp.EventColor.BLUE);
      }
    }
  }

推荐阅读