报错:Uncaught TypeError: Cannot read property '1' of undefinedconsole.log()能访问到数字,为什么比较时就会出错?<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 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
这个报错是溢出数组,现在data.length=6,当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>
这样就不会报错了。
添加回答
举报
0/150
提交
取消