Мне кажется что по интерациям, быстрее мой способ!
|
Цитата:
самый быстрый вариант, это складывать уникальные значения в другой массив, тем самым не нужно будет пробегать по огромному массиву проверяя в нем же, его же значения. |
Цитата:
|
Цитата:
Если как значения - то перебор хэша медленней, если как ключи - то мы говори не только о текстовых значениях. |
Цитата:
var obj = {}; var newArr = []; // цикл по массиву (arr) // value if ( !obj[ value ] ) { obj[ value ] = 1; newArr.push( value ); } |
nerv_,
а теперь дочитай пост.) P.S. Сам в своё время попался на эту "гениальную" идею.) |
nerv_,
Aetae же упомянул что мы говорим не только о текстовых/примитивных значениях. Объекты так же могут быть в массиве, которые ты уже не сможешь поместить в объект в качестве ключа. var arr = [document, document, window, document.body]; |
Цитата:
Цитата:
alert([ document.toString(), document.toString(), window.toString(), document.body.toString() ]); Ну а в целом: примитивы в объект, объекты в массив. Быстрее будет. Или нет? ) |
Цитата:
var a = {}; var b = {}; var arr = [a, a, b, b]; |
Цитата:
Обычно, мы знаем с чем имеем дело. И, если надо из массива примитивов отобрать уникальные, вариант с объектом предпочтительней. С другой стороны, с точки зрения абстрактной функции array_unique, ей должно быть все равно. |
Часовой пояс GMT +3, время: 00:36. |