这是我的代码:

var nestedArr = [[1, 2, 3], [5, 2, 1, 4]];
var result;

  for (var a = 0; a < nestedArr.length; a++) { // iterate nestedArr
    for (var b = 0; b < nestedArr[a].length; b++) {
      if (nestedArr[a+1].includes(nestedArr[a][b])) {
        result.push(nestedArr[a][b]);
    }
  }
}


输出:Error: Cannot read property 'includes' of undefined。但是至少我可以确保几件事:
1. JavaScript中存在数组的includes()方法
2.在控制台中运行单个语句nestedArr[a+1];,给我数组[5, 2, 1, 4]

所以,我真的不理解Error吗?请帮我解决这个问题。谢谢。

最佳答案

var nestedArr = [[1, 2, 3], [5, 2, 1, 4]];
var result = [];

  for (var a = 0; a < nestedArr.length; a++) { // iterate nestedArr
    for (var b = 0; b < nestedArr[a].length; b++) {
      if (nestedArr[a].includes(nestedArr[a][b])) {
        result.push(nestedArr[a][b]);
    }
  }
}
console.log(result)


删除加号即可完成工作,基本上您尝试访问一个数组,但没有数组

10-08 18:58