久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - js 二維數(shù)組比較大小問題。

瀏覽:190日期:2023-05-25 15:40:25

問題描述

報(bào)錯:Uncaught TypeError: Cannot read property ’1’ of undefined

console.log()能訪問到數(shù)字,為什么比較時就會出錯?

<p id='abc'>aaaaaa</p><script> var data = [ ['北京', 10], ['上海', 20], ['福州', 30], ['廣州', 40], ['成都', 40], ['西安', 100] ]; var abc = document.getElementById(’abc’); j = 0; for (var i = 0; i < data.length; i++) {console.log(data[i][1]);if (data[i][1] > data[i+1][1]) { j++;}; } abc.innerHTML = j;</script>

問題解答

回答1:

這個報(bào)錯是溢出數(shù)組,現(xiàn)在data.length=6,當(dāng)i=5是,i+1=6就溢出了。<p id='abc'>aaaaaa</p><script>

var data = [ ['北京', 10], ['上海', 20], ['福州', 30], ['廣州', 40], ['成都', 40], ['西安', 100]];var abc = document.getElementById(’abc’);j = 0;for (var i = 0; i < data.length; i++) { console.log(data[i][1]); if(i<data.length-1){if (data[i][1] > data[i+1][1]) { j++;}; }}abc.innerHTML = j;

</script>

這樣就不會報(bào)錯了。

回答2:

你可以這樣寫:

var data = [ ['北京', 10], ['上海', 20], ['福州', 30], ['廣州', 40], ['成都', 40], ['西安', 100]];var abc = document.getElementById(’abc’);var j = 0;var max = data[0][1];for (let i = 1; i < data.length; i++) { let temp = data[i][1];if (temp > max) {j = i;max = temp; }}abc.innerHTML = data[j][0];回答3:

因?yàn)閿?shù)組越界了,當(dāng)i = data.length - 1的時候, data[i+1][1]訪問的就是 data[6][1],data[6]其實(shí)是沒有的,因?yàn)樗畲蟮牟攀莇ata[5], 說的有點(diǎn)亂,不知道能看懂不

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 石楼县| 蒙自县| 白银市| 常山县| 无棣县| 洛浦县| 肃北| 通河县| 集安市| 鸡西市| 怀宁县| 盘山县| 阿克陶县| 辉南县| 岑溪市| 无为县| 美姑县| 慈溪市| 甘孜县| 宣城市| 芦山县| 乐亭县| 涡阳县| 博罗县| 拉孜县| 盐城市| 济源市| 佛坪县| 怀安县| 双辽市| 磴口县| 长兴县| 莱芜市| 池州市| 忻州市| 教育| 五家渠市| 清涧县| 金湖县| 峨山| 安阳市|