Перейти к содержимому


Партнерская программа Kredov

Массивы в JS

#1 mac

mac
  • Пользователь
  • 53 сообщений
  • Репутация: 0
0

Отправлено 23 Май 2009 - 23:08

У меня проблемка с массивами в js. Народ, подскажите.

Как в JS определить есть ли определенный элемент в массиве или нет по значению?


 

 

  • 0

#2 v1ex

v1ex
  • Пользователь
  • 225 сообщений
  • Репутация: 0

Отправлено 24 Май 2009 - 04:55

<script type="text/javascript">
  function inArray(mas, element)
  {
	for (var i = 0; i < mas.length; i++)
	{
	  if (mas[i] == element)
	  {
		return true;
	  }
	}
	return false;
  }
  
  var mas = new Array("a", "b", "c");
  if (inArray(mas, "a"))
  {
	alert("Элемент 'a' в массиве присутствует.");
  }
  else
  {
	alert("Элемент 'a' в массиве не присутствует.");
  }
</script>
Вот
  • 0

#3 mac

mac
    Topic Starter
  • Пользователь
  • 53 сообщений
  • Репутация: 0

Отправлено 24 Май 2009 - 14:45

Спасибо, я просто думал, что есть какая либо уже встроенная функция типа как в PHP in_array.

А еще вопрос, как определить наличия элемента в двумерном массиве но уже по ключу?
  • 0

#4 v1ex

v1ex
  • Пользователь
  • 225 сообщений
  • Репутация: 0

Отправлено 24 Май 2009 - 15:25

Не совсем понял вопроса... Вы имеете ввиду, определить наличие элемента в массиве в котором в качестве индекса строка?


  • 0

#5 mac

mac
    Topic Starter
  • Пользователь
  • 53 сообщений
  • Репутация: 0

Отправлено 24 Май 2009 - 16:58

Ситуация такая:

Есть массви:
array[1]="val1"
array[3]="val2"

нудно проверить присутствует ли в массиве элемент с индексом 2 (array[2]), если нет, то выводить соответствующее сообщение.


  • 0

#6 v1ex

v1ex
  • Пользователь
  • 225 сообщений
  • Репутация: 0

Отправлено 25 Май 2009 - 00:16

Я делаю вот так:
<script type="text/javascript">
  var mas = new Array();
  mas[0] = "1";
  mas[2] = "3";
  if (mas[1])
  {
	alert("Существует");
  }
  else
  {
	alert("Не существует");
  }
</script>

  • 0

#7 mac

mac
    Topic Starter
  • Пользователь
  • 53 сообщений
  • Репутация: 0

Отправлено 25 Май 2009 - 12:19

И что, работает? Я так пробовал, нифига.


  • 0

#8 v1ex

v1ex
  • Пользователь
  • 225 сообщений
  • Репутация: 0

Отправлено 25 Май 2009 - 13:17

Плохо пробовали, запустите мой код, все работает, и кроссбраузерно.
  • 0

#9 mac

mac
    Topic Starter
  • Пользователь
  • 53 сообщений
  • Репутация: 0

Отправлено 25 Май 2009 - 16:28

Благодарю, работает...


  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru