Get-day文本函数返回了未定义的值
Get day text function returned undefined
不确定下面函数的逻辑缺陷在哪里,我正在尝试获取字符串中的日期值。
function getDayText(date){
var weekday = new Array(7);
weekday[0]= "Sunday";
weekday[1] = "Monday";
weekday[2] = "Tuesday";
weekday[3] = "Wednesday";
weekday[4] = "Thursday";
weekday[5] = "Friday";
weekday[6] = "Saturday";
return weekday[date];
}
console.log(getDayText(2016-1-1)) // undefined
问题是参数2016-1-1
不是有效日期。
//no need to create array for each call
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var day = function(str) {
var tmp = new Date(str); //create date
return days[tmp.getDay()];
};
alert(day('2016-1-1')); //<-- note, its string
以下内容:
console.log(getDayText(2016-1-1));
与相同
console.log(getDayText(2014));
但您的weekday
阵列只有7个元素,而不是2014。因此,当您尝试访问此数组的第2014个元素时,得到undefined
是正常的。请确保只指定有效的索引(在您的情况下,索引范围为0到6)。例如:
console.log(getDayText(3));
您需要度过一周中的某一天才能获得预期结果。
console.log(getDayText(new Date("2016-1-1").getDay()));
您可能想要使用Date
。将日期作为(有效)字符串传递给它的构造函数,并使用getDay
方法获取星期几。
function getDayText(date){
var weekday = new Array(7);
weekday[0]= "Sunday";
weekday[1] = "Monday";
weekday[2] = "Tuesday";
weekday[3] = "Wednesday";
weekday[4] = "Thursday";
weekday[5] = "Friday";
weekday[6] = "Saturday";
return weekday[new Date(date).getDay()];
}
document.write('<pre>' + getDayText("2016-01-01") + '</pre>');
我更喜欢将Date对象传递给方法,而不是字符串,所以要整理它:
function getDayText(date) {
var days = [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
];
return days[date.getDay()];
}
document.write('<pre>' + getDayText(new Date("2016-01-01")) + '</pre>');
相关文章:
- 这.SOMETHING 总是返回未定义的 - extjs
- React+Meteor:this.ops返回未定义
- "日期“;AJAX请求返回的类型值未定义
- Regex提取URL返回数组的一部分;未定义”;
- 换行符拆分返回“”;未定义”;
- 解析-为什么user.getSessionToken()返回未定义的结果
- Javascript函数返回未定义
- JavaScript-获取数据属性的值返回未定义的值
- .val()返回未定义的.text返回随机代码
- 为什么innerHTML返回“未定义”
- "这个“;正在返回未定义的
- 函数jquery的未定义返回
- 为什么typeof的数组的数组的未定义值返回为“0”;未定义的“;我的条件不认为是真的
- winJS 从函数未定义返回 var
- $.get jquery 中的未定义返回
- Javascript 函数未定义返回
- 数据 ID 一直未定义返回
- 函数调用Javascritpt的未定义返回值
- 在函数中提示未定义返回.(问题)范围
- JSON字符串的未定义返回