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