请给我的代码一些帮助。当我在终端上运行它时,没有输出。我正在尝试打印要传递给函数的dateString的日期。例如,如果我输入今天的日期为02/05/2019,则应打印星期二。
我尝试在单独的行上调用该函数,然后使用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);
答案 0 :(得分: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'));
答案 1 :(得分: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'));