Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.02.2010, 17:13
Аватар для Скриптор
Аспирант
Отправить личное сообщение для Скриптор Посмотреть профиль Найти все сообщения от Скриптор
 
Регистрация: 05.02.2010
Сообщений: 35

Проверка массива на наличие элемента
Вопрос простой: «Как проверить массив на наличие конкретного значения или элемента под тем или иным номером или именем?»
Но у меня проблемы, возможно, даже с проверкой на равенство: "==" и "=" нередко путаю
Ответить с цитированием
  #2 (permalink)  
Старый 05.02.2010, 17:40
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Скриптор
элемента под тем или иным номером или именем?
сравнить элемент под номером или именем с undefined
если не равен, то существует
Сообщение от Скриптор
конкретного значения
http://javascript.ru/php/in_array
Сообщение от Скриптор
"==" и "=" нередко путаю
Пересадкой мозга не занимаемся.
других идей внешней помощи по этому вопросу не вижу. вам надо только самому запомнить это
Ответить с цитированием
  #3 (permalink)  
Старый 05.02.2010, 17:46
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Gvozd
других идей внешней помощи по этому вопросу не вижу. вам надо только самому запомнить это
не в этом дело. я раньше когда сидел на Delphi то тоже путал. Там := присваивание, а = сравнение. В JS же = присваивание, == сравнение
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #4 (permalink)  
Старый 05.02.2010, 17:47
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Gvozd
сравнить элемент под номером или именем с undefined
А если там undefined лежит? in нужен.
http://alljs.ru/2009/09/undefined-undefined/

Последний раз редактировалось Kolyaj, 05.02.2010 в 17:51.
Ответить с цитированием
  #5 (permalink)  
Старый 05.02.2010, 18:30
Любитель
Отправить личное сообщение для JsLoveR Посмотреть профиль Найти все сообщения от JsLoveR
 
Регистрация: 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]);
	}
	}


А вообще:
Сообщение от Kolyaj Посмотреть сообщение
А если там undefined лежит? in нужен.
http://alljs.ru/2009/09/undefined-undefined/
Хорошая статья

Последний раз редактировалось JsLoveR, 05.02.2010 в 19:18.
Ответить с цитированием
  #6 (permalink)  
Старый 05.02.2010, 21:15
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от PeaceCoder
не в этом дело.
вам кто-то помог запомнить это различие?
полагаю, что вы в конце-концов просто привыкли, исписав тысячу-другую строк.
вот, и тут ТС-у никто не поможет.только самому привыкать.
Сообщение от Kolyaj
http://alljs.ru/2009/09/undefined-undefined/
Спасибо большое. не подозревал о такой тонкости
Ответить с цитированием
  #7 (permalink)  
Старый 05.02.2010, 23:29
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Gvozd
Спасибо большое. не подозревал о такой тонкости
угумсь. хорошая статья.
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #8 (permalink)  
Старый 09.02.2010, 01:20
Аватар для Скриптор
Аспирант
Отправить личное сообщение для Скриптор Посмотреть профиль Найти все сообщения от Скриптор
 
Регистрация: 05.02.2010
Сообщений: 35

Спасибо, ребята, реально помогли. И надеюсь не только мне


-----------------

=to=>JsLoveR: Спасибо за примеры и юмор (Предыдущий пример вполне можно было оставить: хотя бы, так сказать, "в копилочку", кому-нибудь да пригодится).

=to=>PeaceCoder: Спасибо за понимание. Кстати, у тебя хорошая подпись!

-----------------

Последний раз редактировалось Скриптор, 09.02.2010 в 01:28.
Ответить с цитированием
  #9 (permalink)  
Старый 09.02.2010, 02:05
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Скриптор
=to=>PeaceCoder: Спасибо за понимание. Кстати, у тебя хорошая подпись!
Незачто. Относись к людям так же, как хотел бы отношения к себе - хорошая поговорка. Вот кстати ее я ща тоже добалю в подпись Немного опять же перефразировав =)
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #10 (permalink)  
Старый 12.04.2012, 00:04
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 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.
Что не так с данной проверкой??
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка на наличие определенных символов arbelon Работа 5 15.05.2009 01:41
Проверка на наличие определенных символов arbelon Общие вопросы Javascript 1 14.05.2009 15:27
Проверка текста на наличие в нем букв zoibana Общие вопросы Javascript 1 03.02.2009 15:48
проверка элемента на существование Дмитрий С. Общие вопросы Javascript 2 13.11.2008 12:05