Javascript.RU

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

ассоциативный массив.
здравствуйте.Скажите,пожал уйста,что я делаю неправильно?массив не виден вне цикла
var timetable1 = { };
timetable1["timetable_start"]= timetable_start;
timetable1["timetable_finish"]= timetable_finish;
timetable1["groupName"]=groupName;
timetable1["typeFo"]=typeFo;
timetable1["enterYear"]=enterYear;
timetable1["strId"]="";   
timetable1["week_day"]="";
timetable1["start_time"]="";
timetable1["duration"]="";
timetable1["subject_id"]="";
timetable1["subject_type"]="";
timetable1["subgroup_name"]="";
timetable1["upper_lower_week"]="";
timetable1["comments"]="";
timetable1["teacher_id"]="";
timetable1["room_id"]="";
timetable1["timetable_type"]="";




                                                                                                                                                                            
for (var i=0;i<numberOfDays;i++)
{
        
	
	    var discN=document.getElementById("dis"+i);
	  
	    discNarray[i]=discN;
	

}



 var timetable=[];


  for (var i = 0; i < numberOfDays; i++)
	{

    	 timetable[i] = [];
	

    	for (var j = 0; j <=discNarray[i].value; j++)
		{
                

        	timetable[i][j] = timetable1;
		
		timetable[i][j]["week_day"]=i;
		alert(timetable[i][j]["week_day"]);
	        var start=document.getElementById("strt_"+i+"_"+j);
		timetable[i][j]["start_time"]=start.value;
	

		var dur=document.getElementById("dur_"+i+"_"+j);
		timetable[i][j]["duration"]=dur.value;
	

		var sgp=document.getElementById("sgp_"+i+"_"+j);
		timetable[i][j]["subgroup_name"]=sgp.value;
	


		var sbt=document.getElementById("sbt_"+i+"_"+j);
		timetable[i][j]["subject_type"]=sbt.value;
		


		var sbj=document.getElementById("sbj_"+i+"_"+j);
		timetable[i][j]["subject_id"]=sbj.value;
		

		var rm=document.getElementById("rm_"+i+"_"+j);
		timetable[i][j]["room_id"]=rm.value;
		


		var cm=document.getElementById("cm_"+i+"_"+j);
		timetable[i][j]["comments"]=cm.value;
		



		
		
		

		}
	}
Ответить с цитированием
  #2 (permalink)  
Старый 13.05.2014, 12:07
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

нет в скрипте ассоциативных массивов.
var timetable1 = { } - это объект и перебирать его нужно как объект
Ответить с цитированием
  #3 (permalink)  
Старый 13.05.2014, 12:15
Интересующийся
Отправить личное сообщение для JaneLane Посмотреть профиль Найти все сообщения от JaneLane
 
Регистрация: 19.04.2014
Сообщений: 13

я не очень понимаю.не могли бы Вы пояснить?нужно присваивать свойства через точку?
Ответить с цитированием
  #4 (permalink)  
Старый 13.05.2014, 12:31
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от JaneLane
я не очень понимаю.не могли бы Вы пояснить?нужно присваивать свойства через точку?
Сообщение от JaneLane
массив не виден вне цикла
какой массив? если речь о timetable1 , дак вы передаёте на него ссылку, т.е timetable[i][j] = timetable1; не создаёт экземпляр новый его, а изменение значения любого при обращении к нему, изменяет во всех ранее присвоенных таким образом это значение
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объект как ассоциативный массив tsigel Общие вопросы Javascript 4 16.05.2013 11:02
Ассоциативный и обычный массив. Почему не получается получить свойство? jsuse Общие вопросы Javascript 10 04.12.2011 22:14
Ассоциативный массив, toSource() Kos Общие вопросы Javascript 4 07.08.2010 23:38
добавить элементы в ассоциативный массив noer Элементы интерфейса 7 14.05.2009 10:41
ассоциативный массив где ключ это год или ..... Sandr Общие вопросы Javascript 8 18.07.2008 15:39