有没有更简洁的方式编写以下函数?

时间:2019-09-05 11:02:06

标签: javascript function datetime

我想知道是否有一种以较短的方式编写附加函数的方法。在条件中执行的代码之间的唯一区别是日期时间将设置为00:00:00(startOf('day'))还是23:59:59(endOf('day'))。这种微小的差异使我相信必须有某种动态设置第三函数调用的方法,但是我不知道该怎么做。

function moveDateForOneMonth(date, type) {
    if (type == 'startOf') {
      return DateTime.fromJSDate(new Date(date))
        .plus({ month: 1 })
        .startOf('day')
        .toMillis();
    } else {
      return DateTime.fromJSDate(new Date(date))
        .plus({ month: 1 })
        .endOf('day')
        .toMillis();
    }
  }

使用参数'endOf'或'startOf'调用type参数,该参数对应于将.plus({month:1})添加到日期后应执行的方法的名称。

如果我可以做以下事情,那将是理想的选择:

function moveDateForOneMonth(date, type) {
     return DateTime.fromJSDate(new Date(date))
        .plus({ month: 1 })
        .[type]('day')
        .toMillis();
}

对于格式错误,我深表歉意,并感谢您的提前答复!

0 个答案:

没有答案