Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   цикл в массиве неработает (https://javascript.ru/forum/misc/22443-cikl-v-massive-nerabotaet.html)

HackerSniper 19.10.2011 23:09

цикл в массиве неработает
 
i = 0;
for(data in array)
{
OTHER_array[i]; // не работает тут пер. I, хотя если вручную напишу цыфру то ок
}

GuardCat 20.10.2011 09:08

Объявите i, используя var (var i=0).

Snipe 20.10.2011 09:48

А что делает ваш скрипт?

Андрей38 25.10.2011 03:19

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="http://code.jquery.com/jquery-1.5.js" type="text/javascript"></script>
  
<div></div>
  
  <script type="text/javascript">
   $('*').click(function(){
var i=0	   
 for (i==0; i<13; i++)
 {
alert('a'+i+'')
'a'+i+''()
}

	 function a0(){
alert('y2') }
	 function a1(){
alert('y2') 

   }
 	});

</script>

  <style>
  div { background:#def3ca; margin:3px; width:80px; 
        display:none; float:left; text-align:center; }
  </style>
</head>
<body>
  <button id="showr">Show</button>

  <button id="hidr">Hide</button>
  <div>Hello,</div>
  <div>how</div>
  <div>are</div>
  <div>you?</div>
</body>
</html>

Вот _подсовываю в имя ФУНКЦИИ номер с цикла + префикс а
Итог-НЕ работает,хотя контрольный алерт подтверждает правильность сформированного имени
'a'+i+''() 16 строка
.
Можна как-то заставить это работать?Я,понимаю,конечно, что ИФ работает железно.А ИМЕННО ,ВОТ КАК-ТО ТАК:
('a'+i+''() /16 строка)
можна как-то реализовать ???
Красиво бы получилось ,не правда ли?

ksa 25.10.2011 10:26

Цитата:

Сообщение от Андрей38
Красиво бы получилось ,не правда ли?

Куда уже красивее... :)

var a=[];
a[0]=function () {
	alert(0);
};
a[1]=function () {
	alert(1);
};
a[0]();
a[1]();

Snipe 25.10.2011 11:18

Мне кажется, вы чего-то не того хотите.
Можете озвучить задачу, которую решаете?

Андрей38 25.10.2011 12:48

Цитата:

Сообщение от ksa (Сообщение 132661)
Куда уже красивее... :)

var a=[];
a[0]=function () {
	alert(0);
};
a[1]=function () {
	alert(1);
};
a[0]();
a[1]();

KSA !!!! ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО:thanks: :thanks: :thanks: !!!
Я уже начал мыслить,чтоб имена функций занести в массив, а затем циклом пройтись по элементам массива.
А вы раз,и дали готовое изящнейшее решение!!!
Еще раз,ОГРОМНЕЙШЕЕ СПАСИБО:thanks: :thanks: :thanks: :thanks: !!!


Часовой пояс GMT +3, время: 05:27.