Javascript 返回数组元素时遇到问题

Javascript 返回数组元素时遇到问题,javascript,Javascript,所以我正在做一个免费的在线javascript课程。我正在上第二课。它关注数组、对象和事件。我考得很好,但不知道如何做助教。这是作业 创建包含“一月”到“十二月”的数组 创建一个名为GetMonthName的函数,该函数将单个数字作为参数,并返回该月份的名称。例如: 一个月(3)//将于下个月返回 请记住,数组的索引从0开始。 但在这里,第一个月应该是一月。 所以你得想办法解释一下 这是我的代码。我在正确的轨道上吗?任何帮助都将不胜感激 //create array var months = [

所以我正在做一个免费的在线javascript课程。我正在上第二课。它关注数组、对象和事件。我考得很好,但不知道如何做助教。这是作业

创建包含“一月”到“十二月”的数组 创建一个名为GetMonthName的函数,该函数将单个数字作为参数,并返回该月份的名称。例如:

一个月(3)//将于下个月返回

请记住,数组的索引从0开始。 但在这里,第一个月应该是一月。 所以你得想办法解释一下

这是我的代码。我在正确的轨道上吗?任何帮助都将不胜感激

//create array
var months = ["Month","January","February","March","April","May","June","July","August","September","October","November","December"];

//create function
function getMonthName(month) {
    for(i=0;i<=12;i++) {
        var getMonth=months[i];
        return getMonth;
    }
}

//call function
getMonthName(getMonth);
//创建数组
var月数=[“月”、“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”];
//创建函数
函数getMonthName(月){

对于(i=0;i您不希望在这里使用循环,因为您只返回一个月。您可能需要以下内容:

function getMonthName(month) {
   var getMonth=months[month];
   return getMonth;
}
或更简单:

function getMonthName(month) {
   return months[month];
}
要处理0索引,还可以从数组中删除“月”,只需修改索引即可:

function getMonthName(month) {
   return months[month-1];
}

您不需要使用for循环,只需返回值即可

return months[i - 1];

您从循环返回时没有任何条件,因此始终返回数组中的第一个元素并停止循环

如果这是使用循环的某种练习,那么您应该只在满足条件时返回,如

function getMonthName(month) {
    for(i=0;i<=12;i++) {
        var getMonth=months[i];
        if( i == month ){
            return getMonth;
        }
    }
}
您不需要在数组中包含“月”。请尝试这样做

//create array
var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];

//create function
function getMonthName(month) {
    return months[month-1]
}

这样,除了月份名称之外,您不必向数组中添加任何内容

让我们看看您可以做些什么:

//create array
var months = ["Month","January","February","March","April","May","June","July","August","September","October","November","December"];
在函数中,首先我确保我的参数是整数,然后检查传递的数字是否在1和12之间,最后根据传递的数字减去1返回所选月份

//create function
function getMonthName(month) {
    month = (parseInt(month) || 0) -1;
    return month>0 && month<13 ? months[month] : null;
}

//call function
getMonthName(1);
//创建函数
函数getMonthName(月){
月=(parseInt(月)| | 0)-1;
返回月份>0&&month
var月=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”];
var getMonth=(函数(索引){
返回此[index-1];
}).绑定(个月);
var月=getMonth(1);
document.getElementById('month')。innerHTML=month;

您不需要使用
for循环
为什么要使用for循环?只需将
索引作为参数传递到函数中,然后返回
月[index]
您不需要在
getMonthName
函数中循环任何内容。此外,月份数组不应包含单词
Month
谢谢,但我不知道如何在不添加额外单词的情况下说明从0开始的索引。您可以添加
“Zerouary”
如果它真的让你感到不舒服。在大多数编程语言中,数组是零索引的,所以你应该习惯它。
//create function
function getMonthName(month) {
    month = (parseInt(month) || 0) -1;
    return month>0 && month<13 ? months[month] : null;
}

//call function
getMonthName(1);