怎么报错了?arr[i+1][1]的数组下标1为什么会读取为属性?

    var arr = [[1,"ad"],[21,"qwe"]];
    for(var i=0; i<arr.length; i++) {
      if (arr[i+1][1] == arr[i][1]) {
        arr.splice(i, 1);
      }
    }
VM294:4 Uncaught TypeError: Cannot read property '1' of undefined
    at <anonymous>:4:19


请不要输入昵称
浏览 2939回答 2
2回答

Caballarii

数组越界了,既然要取下标i+1,那就应该是i<arr.length-1

FSYu

var arr = [ {     1: "ad" },  {     1: "ad",     21: "qwe" } ]; for (var i = 0; i < arr.length; i++) {     if (arr[i + 1][1] == arr[i][1]) {     arr.splice(i, 1);     } }不好意思,没太懂你的意思,你是想要这样???
打开App,查看更多内容
随时随地看视频慕课网APP