无法使用 moment.js 进行格式化

Sam*_*Sam 5 javascript frontend web momentjs

我正在尝试使用格式化日期数组,moment.js但出现错误说明

dayOfWeek.format 不是函数

我正确导入

var startOfWeek = moment().startOf('isoWeek');
var endOfWeek = moment().endOf('isoWeek');

var days = [];
var day = startOfWeek;

while (day <= endOfWeek) {
    days.push(day.toDate());
    day = day.clone().add(1, 'd');
}




var week = days.map(function(dayOfWeek, i){
  console.log(dayOfWeek);
  dayOfWeek.format("dddd, DD-MM-YYYY")
});
Run Code Online (Sandbox Code Playgroud)

loe*_*onk 7

您的代码将失败,因为dayOfWeek不是moment对象。

要检查您的变量是否是moment对象,请使用.isMoment

moment.isMoment(dayOfWeek).

要解决您的问题,只需更换

dayOfWeek.format("dddd, DD-MM-YYYY")
Run Code Online (Sandbox Code Playgroud)

moment(dayOfWeek).format("dddd, DD-MM-YYYY")
Run Code Online (Sandbox Code Playgroud)

您还缺少函数return内的语句.map

工作示例:

dayOfWeek.format("dddd, DD-MM-YYYY")
Run Code Online (Sandbox Code Playgroud)
moment(dayOfWeek).format("dddd, DD-MM-YYYY")
Run Code Online (Sandbox Code Playgroud)