Как быстро проверить есть ли в массиве нужная строка? 
		
		
		
		Подскажите способ или алгоритмик как эффективно по скорости проверить есть ли строка в массиве - это массив md5 хэшей? 
	Или как организовать проверку существует ли наш md5 хэш в списке?  | 
	
		
 Вы знакомы с Хеш-таблицами! ? 
	 | 
	
		
 Стандартный, но довольно быстрый способ (в древних браузерах нуно писать самому) 
	['a', 'b', 'c'].indexOf('c'), ну а вообще лучше для таких вещей юзать хешик.  | 
	
		
 Цитата: 
	
  | 
	
		
 Простой IndexOf не подходит, т.к. в большом массиве частые проверки будут слишком медленными. Нужно как в базе данных - нахождение ключа по быстрому алгоритму. Но в данном случае не таблица, а просто список md5 строк. 
	Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 
var md5 = "790ae61799df4458e8a66aec1dd51e9c";
hashes.push( {md5:null} );
Так?Не получается: 
var hashes=[];
var md5 = "790ae61799df4458e8a66aec1dd51e9c";
hashes.push( {md5:null} );
alert( md5 in hashes );
выдает false | 
	
		
 Цитата: 
	
 null, undefined, false, true - это всё объекты на которые будет храниться ссылка.  | 
	
		
 Почемучкин, 
	
var hash = {};
var md5 = "790ae61799df4458e8a66aec1dd51e9c";
hash[ md5 ] = null;
alert( md5 in hash );
// or
alert( hash[ md5 ] );
Цитата: 
	
  | 
	
		
 Цитата: 
	
 Но данные вещи ведут себя именно как js обекты, т.е. не создаётся новых экземпляров и не присваивается значение - только ссылка.) Т.е. память лишня не тртится.  | 
| Часовой пояс GMT +3, время: 04:47. |