Показать сообщение отдельно
Старый 16.06.2010, 14:06
Сайлас вне форума Посмотреть профиль Отправить личное сообщение для Сайлас Найти все сообщения от Сайлас
  № 4  
Ответить с цитированием
Сайлас

Регистрация: Mar 2008
Сообщений: 259
Цитата:
Сообщение от i.o. Посмотреть сообщение
Код 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;
}
А этот код никак не поддержит дублирующиеся элементы, а если дублирующиеся элементы не нужны, то тогда лучше объект использовать - поиск по ключу наамного быстрее