如何获得等效的整周天数,即monday
到2
,tuesday
到3
,wednesday
到{{1}等等?
这就是我所拥有的:
4
我需要做
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
答案 0 :(得分:4)
可以使用查找对象:
var days = {
sunday: 1,
monday: 2,
tuesday: 3,
wednesday: 4,
thursday: 5,
friday: 6,
saturday: 7
}
console.log(days["sunday"]) //1
现在,只需访问上述任何属性,它的值就是一周的数字日期!
console.log(days["monday"]) //2
答案 1 :(得分:2)
你也可以使用javascript的“indexOf”功能。
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
console.log(days.indexOf('Sunday')); // return 0
console.log(days.indexOf('Tuesday')); // return 2
但请记住,“indexOf”区分大小写,如果字符串不在数组中,它将返回“-1”。
答案 2 :(得分:1)
通常,对于类似这样的事情,您可能希望创建一个函数,这样您就不必重复自己(请参阅DRY)。这是一个示例函数,也是converts the incoming week day string to lowercase所以“星期三”将返回与“星期三”相同的结果。
注意:带有功能文档的注释块使用JSDoc推荐的样式。
/**
* @param {String} weekDay
* @returns {Number} Day of week weekDay is. Returns `undefined` for invalid weekDay.
*/
function getWeekDayNumber(weekDay) {
var days = {
sunday: 1,
monday: 2,
tuesday: 3,
wednesday: 4,
thursday: 5,
friday: 6,
saturday: 7
};
return days[weekDay.toLowerCase()];
}
var day = getWeekDayNumber("Sunday"); // `day` now equals `1`