运行在终端功能时,没有输出

问题描述 投票:0回答:2

想一些帮助,我的代码,请。当我在我的终端上运行它没有输出。我想打印我传递给函数的dateString的一天。例如,如果我通过今天的日期是2019年2月5日应该打印周二。

我已经打过电话在单独一行的功能和使用的console.log来也许这会工作打印出来,但事实并非如此。

var dateString = ('10/16/2012');
const getDayName = (date) =>   {
  var days =  new Date(dateString);
  const weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saurday'];
  return weekDays[days.getDay()];
};

console.log(getDayName);
javascript date ecmascript-6
2个回答
0
投票

该函数可以简化为:

function getDayName(s) {
  return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][new Date(s).getDay()];
}

console.log(getDayName('10/16/2012'));

或者,如果你真的必须使用函数表达式:

let getDayName = s => ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][new Date(s).getDay()];

console.log(getDayName('10/16/2012'));

在更少的代码和配套主机默认语言:

let getDayName = s => new Date(s).toLocaleString(void 0, {weekday:'long'});

console.log(getDayName('10/16/2012'));

2
投票

你必须在你的代码的多个错误/不一致。

  • 你正在登录的功能本身,而不是调用它。
  • 你不使用日期参数在你的功能,您可以直接访问全局变量。

这里是一个修正版本:

const getDayName = dateString => {
  const date = new Date(dateString);
  const weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saurday'];
  return weekDays[date.getDay()];
};

console.log(getDayName('10/16/2012'));
© www.soinside.com 2019 - 2024. All rights reserved.