Я пытался реализовать функцию, где дается с двумя массивами,Сравнение и фильтрация двух массивов
Array1 элементы «s используется в качестве условия, чтобы отфильтровать элементы в массив2.
Например:
array1= [apple, grapes, oranges]
array2= [potato, pears, grapes, berries, apples, oranges]
После подачи в функции, array2 должны иметь элементы, как, например:
filter_twoArrays(array1,array2)
array2= [grapes, apples, oranges]
Я попытался следующий код, используя для петель и Array.splice (), но проблема, которую я вижу, заключается в том, что когда я использую метод сплайсинга, кажется, что он меняет длину массива2 в цикле обработки:
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)
}
}
}
Любые входы будут приниматься с благодарностью за то, как улучшить функцию фильтра
ура!
В PHP вы можете использовать 'array_intersect', но ваш код, кажется, немного как JS – pbaldauf
возможный дубликат [простейшими код для пересечения массива в JavaScript] (http://stackoverflow.com/questions/1885557/simpleest-code-for-array-intersection-in-javascript) – georg
Является ли порядок элементов в массиве result2 важным для вас? – Arvind