我有两个阵列
newArray1 = [104,101,108,108,111];
和
newArray2 = [104,101,121];
我只是检查一下array1中的某些数字是否在array2中。
for(i=0;i<newArray2.length;i++) {
if(newArray.indexOf(newArray2[i]) > -1) {
console.log(newArray2[i]);
} else {
}
}
当循环遍历 newArray2 时,循环仅遍历位置0和1,并且不会到达最后一个数字。我只是好奇为什么整个阵列没有完全循环。在for循环体中登录控制台时
console.log(newArray2[i]);
我收到了
//104
//101
...不
//104
//101
//121
答案 0 :(得分:1)
首先,您在顶部命名变量newArray1
和newArray2
,在循环中命名newArray
和newArray2
...我认为这只是你错了复制你的代码。
问题是你正在使用return,它结束了for循环...看起来你刚刚编辑了你的代码来修复它,你现在得到了你应该得到的结果! 121不在newArray1中,因此if语句中的console.log永远不会执行。在if(newArray.indexOf(newArray2[i]) > -1) {
之前移动它,您将在控制台日志中看到121。