Сообщение от harold
|
Пересечение двух массивов arr1 и arr2 - элементы, которые присутствуют в обоих массивах.
В результирующих массивах не должно быть одинаковых элементов, даже если во входных массивах есть одинаковые элементы.
Застрял на этом пункте задания
|
Вот не самый эффективный вариант, но с учётом дублей и кроссбраузерно
function Intersection(A,B)
{
var M=A.length, N=B.length, C=[];
for (var i=0; i<M; i++)
{ var j=0, k=0;
while (B[j]!==A[i] && j<N) j++;
while (C[k]!==A[i] && k<C.length) k++;
if (j!=N && k==C.length) C[C.length]=A[i];
}
return C;
}
Сообщение от harold
|
Разность двух массивов arr1 и arr2 - элементы массива arr1, которых нет в массиве arr2.
|
Аналогично пересечению, различие в коде только в одном символе
function Difference(A,B)
{
var M=A.length, N=B.length, C=[];
for (var i=0; i<M; i++)
{ var j=0, k=0;
while (B[j]!==A[i] && j<N) j++;
while (C[k]!==A[i] && k<C.length) k++;
if (j==N && k==C.length) C[C.length]=A[i];
}
return C;
}