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

查看:143
本文介绍了javascript - js 二维数组比较大小问题。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

报错:Uncaught TypeError: Cannot read property '1' of undefined

console.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>

解决方案

这个报错是溢出数组,现在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>

这样就不会报错了。

这篇关于javascript - js 二维数组比较大小问题。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆