第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有 while 循環(huán)的 JavaScript 數(shù)組

帶有 while 循環(huán)的 JavaScript 數(shù)組

有只小跳蛙 2022-06-05 09:41:19
在這段代碼中,它應(yīng)該找到“var dob”的年齡,然后遍歷數(shù)組以找到學(xué)生的年級。有人告訴我,我有正確的代碼來查找此人的年齡。我也有合適的數(shù)組。我的問題似乎在我的 while 循環(huán)中。我的 while 循環(huán)中的語法有錯誤。    <script language="javascript" type="text/javascript">        var dob = '20120810';        var year = Number(dob.substr(0, 4));        var month = Number(dob.substr(4, 2)) - 1;        var day = Number(dob.substr(6, 2));        var today = new Date();        var age = today.getFullYear() - year;        if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day)) {      age--;    }    //document.write("You are " + (age + 1) + " Years old"+"<br>");    var grade = [        [6,'Grade 1'],        [7,'Grade 2'],        [8,'Grade 3'],        [9,'Grade 4'],        [10,'Grade 5'],        [11,'Grade 6'],        ];    while (var age = 0; age < grade; age++){          document.write(grade[age]);    }    </script>
查看完整描述

2 回答

?
侃侃無極

TA貢獻2051條經(jīng)驗 獲得超10個贊

您的一些錯誤是

1。您正在將 (int)age 與 (array)grade 進行比較 最好的方法是age < grade.length

2。grade數(shù)組的索引是從 0 到 5,即grade[0] == [6, 'Grade 1'],這意味著如果年齡大于 5,你不會有結(jié)果。



另一種方法,如果你真的想打印出與年齡對應(yīng)的等級,


    // age = 7;

    let yourGrade = grade.find(e => {

        return e[0] == age;

    });

    // console.log(yourGrade); // [7, 'Grade 2']

    // console.log(yourGrade ? yourGrade[1] : "You’re either too young or too old");

    // Grade 2

上面的代碼嘗試查看您的(數(shù)組)等級并返回第一個項目等于計算年齡的值的第一次出現(xiàn)。



有很多方法可以實現(xiàn)這一目標。

編輯

或者,如果您對while循環(huán)特別感興趣,您可以執(zhí)行以下操作:


    //age = 7;

    let yourGrade;

    let i = grade.length;

    while(i––) {

        if (grade[i][0] == age) {

            yourGrade = grade[i];

            break;

        }

    }

    console.log(yourGrade);

    //[7,'Grade 2']

    //try with age = 5 //undefined


查看完整回答
反對 回復(fù) 2022-06-05
?
紫衣仙女

TA貢獻1839條經(jīng)驗 獲得超15個贊

如果您正在尋找年齡和年級,這可能是您的最佳解決方案。


請記住,這里的等級是二維數(shù)組,您將等級的第一個索引元素與年齡進行比較。所以你需要首先從等級數(shù)組的第一個元素中找到最大值。


var dob = '20120810';

var year = Number(dob.substr(0, 4));

var month = Number(dob.substr(4, 2)) - 1;

var day = Number(dob.substr(6, 2));

var today = new Date();

var age = today.getFullYear() - year;

if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day)) {

    age--;

}

console.log("You are " + (age + 1) + " Years old");


var grade = [

[6,'Grade 1'],

[7,'Grade 2'],

[8,'Grade 3'],

[9,'Grade 4'],

[10,'Grade 5'],

[11,'Grade 6'],

];


maxAge=grade.reduce(function(max, grade) { 

    return Math.max(max, grade[0]); 

}, -Infinity);


for (i = 0; i < maxAge; i++){

    if(typeof grade[i] !== 'undefined' && grade[i][0]==age){

        console.log(grade[i][1]);

    }

}

另一種選擇可能是:


var dob = '20120810';

var year = Number(dob.substr(0, 4));

var month = Number(dob.substr(4, 2)) - 1;

var day = Number(dob.substr(6, 2));

var today = new Date();

var age = today.getFullYear() - year;

if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day)) {

    age--;

}

//console.log("You are " + (age + 1) + " Years old");


var grade = [

[6,'Grade 1'],

[7,'Grade 2'],

[8,'Grade 3'],

[9,'Grade 4'],

[10,'Grade 5'],

[11,'Grade 6'],

];


let yourGrade = grade.find(e => {

    return e[0] == age;

});

console.log('Age: ' + yourGrade[0] + ' and Grade: ' + yourGrade[1]);


查看完整回答
反對 回復(fù) 2022-06-05
  • 2 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號