为了账号安全,请及时绑定邮箱和手机立即绑定

js 二维数组比较大小问题。

js 二维数组比较大小问题。

达令说 2018-11-22 18:14:38
报错: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>

这样就不会报错了。


查看完整回答
反对 回复 2018-12-24
  • 1 回答
  • 0 关注
  • 433 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信