Мне кажется что по интерациям, быстрее мой способ!
|
Цитата:
самый быстрый вариант, это складывать уникальные значения в другой массив, тем самым не нужно будет пробегать по огромному массиву проверяя в нем же, его же значения. |
Цитата:
|
Цитата:
Если как значения - то перебор хэша медленней, если как ключи - то мы говори не только о текстовых значениях. |
Цитата:
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, время: 13:40. |