将数组放入if语句的变量中

Putting an array in a variable for a if statement

本文关键字:变量 语句 if 数组      更新时间:2023-11-10

我正试图将数组的内容放入变量中,然后在if语句中使用它。我的目标是找到数组的最大数量,并将其与相应的"月"一起显示。我能够达到最大值,但I应该为maxMonthIndex到什么,这样if语句才能正确工作?

function displayHighestSalary() {
    console.log("Inside displayArrayContents function");
    var maxFinal;
    var max = monthlySales[0];
    var maxMonth;
    var maxMonthIndex;
    console.log("monthlySales.length = " + monthlySales.length);

    //Loop through array and build display string
    for (var i = 0; i < monthlySales.length; i++)  
    {
        if (monthlySales[i] > max) {
            max = monthlySales[i];
            maxMonthIndex = **??????**;
        }
    }

    console.log("max = " + max)
    if (maxMonthIndex = monthlySales[0]) {
        maxMonth = "january";
    }
    else if (maxMonthIndex = monthlySales[1]) {
        maxMonth = "February";
    }
    else if (maxMonthIndex = monthlySales[2]) {
        maxMonth = "March";
    }
    else if (maxMonthIndex = monthlySales[3]) {
        maxMonth = "April";
    }
    else if (maxMonthIndex = monthlySales[4]) {
        maxMonth = "May";
    }
    else if (maxMonthIndex = monthlySales[5]) {
        maxMonth = "June";
    }
    else if (maxMonthIndex = monthlySales[6]) {
        maxMonth = "July";
    }
    else if (maxMonthIndex = monthlySales[7]) {
        maxMonth = "August";
    }
    else if (maxMonthIndex = monthlySales[8]) {
        maxMonth = "September";
    }
    else if (maxMonthIndex = monthlySales[9]) {
        maxMonth = "October";
    }
    else if (maxMonthIndex = monthlySales[10]) {
        maxMonth = "November";
    }
    else if (maxMonthIndex = monthlySales[11]) {
        maxMonth = "December";
    }
    maxFinal = addCommas(max);
    //Display results
    document.getElementById('divDisplayHighest').innerHTML = "$" + maxFinal + " " +     maxMonth;
}

maxMonthIndex设置为i:

//Loop through array and build display string
for (var i = 0; i < monthlySales.length; i++)  
{
    if (monthlySales[i] > max) {
        max = monthlySales[i];
        maxMonthIndex = i;
    }
}

将赋值语句更改为===,并与索引(数字)而非最大值进行比较:

if (maxMonthIndex === 0) {
    maxMonth = "january";
}
// and so on

甚至更好:

// add this up top with all of your other variable declarations
var monthLabels = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
//then...
//Loop through array and build display string
for (var i = 0; i < monthlySales.length; i++)  
{
    if (monthlySales[i] > max) {
        max = monthlySales[i];
        maxMonthIndex = i;
    }
}
// now that you know the maxMonthIndex, get the label
maxMonth = monthLabels[maxMonthIndex];