| 
	| 
	
	| 
		
	| 
			
			 
			
				05.02.2010, 17:13
			
			
			
		 |  
	| 
		
			|  | Аспирант       |  | 
					Регистрация: 05.02.2010 
						Сообщений: 35
					 
		
 |  |  
	| 
				Проверка массива на наличие элемента
			 Вопрос простой:  «Как проверить массив на наличие конкретного значения или элемента под тем или иным номером или именем?» 
   Но у меня проблемы, возможно, даже с проверкой на равенство: "==" и "=" нередко путаю   |  |  
	| 
		
	| 
			
			 
			
				05.02.2010, 17:40
			
			
			
		 |  
	| 
		
			|  | Матрос       |  | 
					Регистрация: 04.04.2008 
						Сообщений: 6,246
					 
		
 |  |  
	| 
	
 
	| Сообщение от Скриптор |  
	| элемента под тем или иным номером или именем? |  
	
 сравнить элемент под номером или именем с undefined 
если не равен, то существует
 
http://javascript.ru/php/in_array
	
 
	| Сообщение от Скриптор |  
	| конкретного значения |  
	
 
	
 
	| Сообщение от Скриптор |  
	| "==" и "=" нередко путаю |  
	
 Пересадкой мозга не занимаемся. 
других идей внешней помощи по этому вопросу не вижу. вам надо только самому запомнить это |  |  
	| 
		
	| 
			
			 
			
				05.02.2010, 17:46
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 15.12.2009 
						Сообщений: 742
					 
		
 |  |  
	| 
	
 
	| Сообщение от Gvozd |  
	| других идей внешней помощи по этому вопросу не вижу. вам надо только самому запомнить это |  
	
 не в этом дело. я раньше когда сидел на Delphi то тоже путал. Там := присваивание, а = сравнение. В JS же = присваивание, == сравнение
				__________________ Настоящий программист думает и осознает сам  решение задачи, а не копирует другие мысли, не осознавая их (c) 
Относись к человеку так же , как хотелось бы отношения к себе (с) 
Все нужно там, где оно нужно , а все не нужно нигде (с) Gozar
B~Vladi:  А кто такой JavaScript стрелок?! micscr:  это тот, кто не jQuery танкист. 
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт |  |  
	| 
		
	| 
			
			 
			
				05.02.2010, 17:47
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 19.02.2008 
						Сообщений: 9,177
					 
		
 |  |  
	| 
	
 
	| Сообщение от Gvozd |  
	| сравнить элемент под номером или именем с undefined |  
	
 А если там undefined лежит? in нужен.
http://alljs.ru/2009/09/undefined-undefined/			 Последний раз редактировалось Kolyaj, 05.02.2010 в 17:51.
 |  |  
	| 
		
	| 
			
			 
			
				05.02.2010, 18:30
			
			
			
		 |  
	| 
		
			
			| Любитель       |  | 
					Регистрация: 16.12.2009 
						Сообщений: 422
					 
		
 |  |  
	| Скриптор, 
 Ещё примерчик для понимания:
 
var mass=new Array('яблоко','груша','слива','картофель');
index = parseInt(prompt("Введите индекс массива", 0));
if(index>=mass.length || index<0 || isNaN(index)){alert("Вы выбрали несуществующий элемент")}
else{
alert("Вы выбрали: "+mass[index]);
}
Строковая индексация
 
var mass=new Array('яблоко','груша','слива','картофель');
mass["яблоко"] = "Яблоки по 10 грн за кг";
mass["груша"] = "Груши по 11 грн за кг";
mass["слива"] = "Сливы по 12 грн за кг";
mass["картофель"] = "Картофель по 9 грн за кг";
for(var i=0;i<mass.length;i++){
var	index = prompt("Введите строковый индекс массива", 'яблоко');
	if(index!=mass[i]){alert("Вы выбрали несуществующий элемент")}
	else{
	alert("Вы выбрали: "+mass[index]);
	}
	}
А вообще:
 Хорошая статья 			 Последний раз редактировалось JsLoveR, 05.02.2010 в 19:18.
 |  |  
	| 
		
	| 
			
			 
			
				05.02.2010, 21:15
			
			
			
		 |  
	| 
		
			|  | Матрос       |  | 
					Регистрация: 04.04.2008 
						Сообщений: 6,246
					 
		
 |  |  
	| 
	
 
	| Сообщение от PeaceCoder |  
	| не в этом дело. |  
	
 вам кто-то помог запомнить это различие? 
полагаю, что вы в конце-концов просто привыкли, исписав тысячу-другую строк. 
вот, и тут ТС-у никто не поможет.только самому привыкать.
 
	
 
	| Сообщение от Kolyaj |  
	| http://alljs.ru/2009/09/undefined-undefined/ |  
	
 Спасибо большое. не подозревал о такой тонкости |  |  
	| 
		
	| 
			
			 
			
				05.02.2010, 23:29
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 15.12.2009 
						Сообщений: 742
					 
		
 |  |  
	| 
	
 
	| Сообщение от Gvozd |  
	| Спасибо большое. не подозревал о такой тонкости |  
	
 угумсь. хорошая статья.
				__________________ Настоящий программист думает и осознает сам  решение задачи, а не копирует другие мысли, не осознавая их (c) 
Относись к человеку так же , как хотелось бы отношения к себе (с) 
Все нужно там, где оно нужно , а все не нужно нигде (с) Gozar
B~Vladi:  А кто такой JavaScript стрелок?! micscr:  это тот, кто не jQuery танкист. 
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт |  |  
	| 
		
	| 
			
			 
			
				09.02.2010, 01:20
			
			
			
		 |  
	| 
		
			|  | Аспирант       |  | 
					Регистрация: 05.02.2010 
						Сообщений: 35
					 
		
 |  |  
	| Спасибо, ребята, реально помогли. И надеюсь не только мне    
-----------------
 
=to=>JsLoveR :  Спасибо за примеры и юмор (Предыдущий пример вполне можно было оставить: хотя бы, так сказать, "в копилочку", кому-нибудь да пригодится).
 
=to=>PeaceCoder :  Спасибо за понимание. Кстати, у тебя хорошая подпись!
 
-----------------			 Последний раз редактировалось Скриптор, 09.02.2010 в 01:28.
 |  |  
	| 
		
	| 
			
			 
			
				09.02.2010, 02:05
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 15.12.2009 
						Сообщений: 742
					 
		
 |  |  
	| 
	
 
	| Сообщение от Скриптор |  
	| =to=>PeaceCoder: Спасибо за понимание. Кстати, у тебя хорошая подпись! |  
	
 Незачто. Относись к людям так же, как хотел бы отношения к себе - хорошая поговорка. Вот кстати ее я ща тоже добалю в подпись Немного опять же перефразировав =)
				__________________ Настоящий программист думает и осознает сам  решение задачи, а не копирует другие мысли, не осознавая их (c) 
Относись к человеку так же , как хотелось бы отношения к себе (с) 
Все нужно там, где оно нужно , а все не нужно нигде (с) Gozar
B~Vladi:  А кто такой JavaScript стрелок?! micscr:  это тот, кто не jQuery танкист. 
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт |  |  
	| 
		
	| 
			
			 
			
				12.04.2012, 00:04
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 22.03.2012 
						Сообщений: 3,744
					 
		
 |  |  
	| А как насчёт проверок наличия элементов в массивах ссылок, например, таких как children  (если я, конечно, правильно понимаю, что данный массив хранит для некоторого элемента ссылки на все его дочерние элементы)?
 
Например, есть div со ссылкой: div - родительский элемент, ссылка - дочерний. 
Нужно, чтобы при уходе мыши с div этот div скрывался, кроме тех случаев, когда уход происходит на его дочерний элемент (ссылку). 
Решение, как видится, заключается во фразе "если уходишь не на дочерний элемент, то скрывайся".
 
Для браузеров с поддержкой target/relatedTarget , код такой.
 
	
 
	| Код: |  
	| <div id=div1 style="background: gray" 
  onmouseout = "
    if (!(event.relatedTarget in this.children)) this.style.display = 'none';
">
<a href="">content</a>
</div> |  
	
 
Тем не менее данный код не работает, а event.relatedTarget in this.children  всегда равен true . 
Что не так с данной проверкой?? |  |  |  |