Показать сообщение отдельно
  #18 (permalink)  
Старый 10.06.2012, 20:14
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

потестируйте такой вариант:
var db = [  1, 1, 2, 10, 2, 0, 0, 9, 2, 3, 7, 3, 4, 4, 4, 5  ];
 
function uniqueData(a) {
    var result = [],
        execCache = {},
        length = a.length;
   
    for( var v, x = 0; v = a[ x ], x < length; x++ ) {
        if ( !( v in execCache ) ) {
            result[ result.length ] = execCache[ v ] = v;
        }
    }

    return result;
}

alert( uniqueData(db) );
тут используется объект, но зато проход всего один.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием