我一直在尝试实现一个函数,该函数接受两个数组作为参数,其中array1的元素用作筛选出array2中的元素的条件。
例如:
array1= [apple, grapes, oranges]
array2= [potato, pears, grapes, berries, apples, oranges]
输入函数后,array2应该具有以下元素:
filter_twoArrays(array1,array2)
array2= [grapes, apples, oranges]
我尝试了以下代码,使用for循环和array.splice(),但是我发现当我使用splice方法时,它似乎会改变for循环中array2的长度:
我尝试了以下代码,使用for循环和array.splice(),但是我发现当我使用splice方法时,它似乎会改变for循环中array2的长度:
function filter_twoArrays(filter,result){
for(i=0; i< filter.length; i++){
for(j=0; j< result.length; j++){
if(filter[i] !== result[j]){
result.splice(j,1)
}
}
}
任何对如何优化筛选功能的建议将不胜感激。干杯!
array_intersect
,但是您的代码似乎有点像 JS。 - pbaldauf