filter中使用for循环出现的问题
eg:
let arr1=[1,2,3,4,5]
let arr2=[1,3]
const newArr = arr1.filter(item=>{
for (let i = 0 ;i < arr2.length; i++){
return item == arr2[i]
}
})
console.log(newArr)//[1]
按我的想法 应该循环10次,但是代码执行了5次,我觉得是因为filter有break效果,所以终止了.
正确的写法;
let arr1=[1,2,3,4,5]
let arr2=[1,3]
let newArr = []
for (let i = 0; i < arr1.length; i++) {
for (k = 0; k < arr2.length; k++) {
if(arr1[i]==arr2[k]){
newArr.push(arr1[i])
}
}
}
console.log(newArr) //[1.3]