这是我的代码:
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]);
}
}
}
输出:错误:无法读取未定义的属性“includes”
。但至少我可以确定几件事:
1. JavaScript 中数组存在 includes()
方法
2. 在控制台中运行单个语句 nestedArr[a+1];
给我数组 [5, 2, 1, 4]
所以,我真的不明白错误
?请帮我解决这个问题。谢谢。
最佳答案
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)
删除加一就可以了,基本上你试图访问一个不存在数组的数组
关于javascript - 无法读取 JavaScript 数组对象未定义的属性 'includes',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48703181/