Цитата:
Сообщение от i.o.
(Сообщение 915866)
Код AS3:
var arrOut:Array = [];
var _isFound:Boolean;
var li:int = A.length;
var lj:int = B.length;
var i:int;
var j:int;
for( i=0; i < li; i+=1 )
{
_isFound = false;
for( j=0; j < lj; j+=1 )
{
if( А[i] === B[j] )
{
_isFound = true;
break;
}
}
if( !_isFound )
{
arrOut.push( A[i] );
}
}
trace( arrOut );
|
Можно написать более оптимальный алгоритм, если массивы будут отсортированы, кстати.
Цитата:
Код AS3:
function returnUnique(a:Array,b:Array):Array{
var arr:Array = [];
for each(var i:Object in a) {
if (b.indexOf(i) == -1) {
arr.push(i);
}
}
return arr;
}
|
А этот код никак не поддержит дублирующиеся элементы, а если дублирующиеся элементы не нужны, то тогда лучше объект использовать - поиск по ключу наамного быстрее
|