我有一个for
循环来遍历数组并显示日期。我编写了一些代码,将月份从数字转换为文本。代码如下:
for (var i=0; i < arrayLength; i++) {
//==== MONTH DATA
var month = data[1];
//==== DECLARE MONTH
if (month == '01') { var month = "Jan" }
if (month == '02') { var month = "Feb" }
if (month == '03') { var month = "Mar" }
if (month == '04') { var month = "Apr" }
if (month == '05') { var month = "May" }
if (month == '06') { var month = "June" }
if (month == '07') { var month = "July" }
if (month == '08') { var month = "Aug" }
if (month == '09') { var month = "Sept" }
if (month == '10') { var month = "Oct" }
if (month == '11') { var month = "Nov" }
if (month == '12') { var month = "Dec" }
alert(month);
}
现在,我想在整个网站的各个for循环中使用month转换器。因此,我想做一些类似的事情,将其放到我可以每次触发的函数中。例如:
function declareMonth(){
//==== DECLARE MONTH
if (month == '01') { var month = "Jan" }
if (month == '02') { var month = "Feb" }
if (month == '03') { var month = "Mar" }
if (month == '04') { var month = "Apr" }
if (month == '05') { var month = "May" }
if (month == '06') { var month = "June" }
if (month == '07') { var month = "July" }
if (month == '08') { var month = "Aug" }
if (month == '09') { var month = "Sept" }
if (month == '10') { var month = "Oct" }
if (month == '11') { var month = "Nov" }
if (month == '12') { var month = "Dec" }
}
for (var i=0; i < arrayLength; i++) {
//==== MONTH DATA
var month = data[1];
declareMonth();
alert(month);
}
但是,这不起作用。谁能解释如何做到这一点?
最佳答案
您需要返回月份值。您还需要正确编写函数:
function getMonthName(n) {
var months = ["Jan", "Feb", ... ]; // omitted for brevity
return months[n - 1];
}
用法:
for (var i=0; i < arrayLength; i++) {
var month = data[1];
var name = getMonthName(month);
alert(name);
}
注意:如果提供的月份超出范围,结果将为
undefined
。