| 
	| 
	
	| 
		
	| 
			
			 
			
				04.12.2011, 02:47
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 10.04.2010 
						Сообщений: 92
					 
		
 |  |  
	| 
				Ассоциативный и обычный массив. Почему не получается получить свойство?
			 Вот есть код ассоциативного массива: 
var arr = {
	a: dom_1,
	b: dom_2,
	c: dom_3
}
И есть простой массив:
 
var b = Array;
b[0] = "a";
 
Хочу получить доступ к свойству dom_1 ассоциативного массива. Использую такие варианты:
 
var q = arr.b[0];    // не работает, в ошибку пишет TypeError: Cannot read property '0' of undefined
// или так пробую
var z = b[0]   // в z получает "a"
var q = arr.z  // но так все равно ничего не выдает, пишет просто undefined
 
Почему так? Возможно ли вообще так обратится к ассоциативному массиву? |  |  
	| 
		
	| 
			
			 
			
				04.12.2011, 02:49
			
			
			
		 |  
	| 
		
			|  | Модератор       |  | 
					Регистрация: 27.04.2010 
						Сообщений: 3,417
					 
		
 |  |  
	| Здравствуйте! 
Судя по вашему сообщению, вы ну совсем не знаете javascript. 
 
Освойте основы языка и вопрос отпадет сам, полностью или частично.  
А с чем не справитесь - поможем.
 
На сайте javascript можно начать изучать с учебника, раздел Основы javascript . 
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://htmlbook.ru 
Задавайте конкретные вопросы по ходу дела. |  |  
	| 
		
	| 
			
			 
			
				04.12.2011, 02:54
			
			
			
		 |  
	| 
		
			|  | Матрос       |  | 
					Регистрация: 04.04.2008 
						Сообщений: 6,246
					 
		
 |  |  
	|  |  |  
	| 
		
	| 
			
			 
			
				04.12.2011, 02:58
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 10.04.2010 
						Сообщений: 92
					 
		
 |  |  
	| 
	
 
	| Сообщение от trikadin   |  
	| На сайте javascript можно начать изучать с учебника, раздел Основы javascript. Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://htmlbook.ru
 Задавайте конкретные вопросы по ходу дела.
 |  
	
 Я задал более чем конкретный вопрос. Лучшее, что Вы могли бы сделать, если жмете прямой ответ - это подсказать, где именно найти об этом информацию в учебнике. А вот такие ответы, как вы дали, я бы хотел попросить Вас больше не писать вообще. Полезней для форума будет. Ссылки на учебники на сайте я и сам могу найти. Спасибо. |  |  
	| 
		
	| 
			
			 
			
				04.12.2011, 04:42
			
			
			
		 |  
	| 
		
			|  | Новичок       |  | 
					Регистрация: 05.09.2010 
						Сообщений: 2,298
					 
		
 |  |  
	| 
var z = b[0] 
var q = arr[z]
// или
var q = arr[b[0]]
 |  |  
	| 
		
	| 
			
			 
			
				04.12.2011, 10:36
			
			
			
		 |  
	| 
		
			|  | junior       |  | 
					Регистрация: 29.11.2011 
						Сообщений: 3,924
					 
		
 |  |  
	| 
var obj = { a:1, b:2, c:3 }; // объект
var arr = [1, 2, 3]; // массив
alert(obj['a']) // объект как ассоциативный массив
alert(arr[0]) // элемент массива
				__________________Чебурашка стал символом олимпийских игр. А чего достиг ты?
 Тишина - самый громкий звук
 |  |  
	| 
		
	| 
			
			 
			
				04.12.2011, 10:45
			
			
			
		 |  
	| 
		
			|  | Модератор       |  | 
					Регистрация: 27.04.2010 
						Сообщений: 3,417
					 
		
 |  |  
	| 
	
 
	| Сообщение от jsuse |  
	| А вот такие ответы, как вы дали, я бы хотел попросить Вас больше не писать вообще. Полезней для форума будет. Ссылки на учебники на сайте я и сам могу найти. Спасибо. |  
	
 Такие вопросы, какие вы задали, я бы хотел попросить Вас больше не задавать вообще.
jsuse , Вы уже, наверное, в пятой теме задаёте пустяковые вопросы, ответы на которые находятся внимательным чтением учебника на этом сайте. На предыдущие четыре (или сколько их там было) я отвечал. Но нет смысла конкретно отвечать человеку, который не старается приложить силы для самостоятельного изучения языка. Поэтому я и предложил вам почитать учебник на сайте.
 
И, напоследок: я сам буду решать, какие ответы мне давать, а какие - нет. Смекаешь? |  |  
	| 
		
	| 
			
			 
			
				04.12.2011, 10:46
			
			
			
		 |  
	| 
		
			
			| что-то знаю       |  | 
					Регистрация: 24.05.2009 
						Сообщений: 5,176
					 
		
 |  |  
	| 
	
 
	| Сообщение от jsuse   |  
	| 
var q = arr.b[0];    // не работает, в ошибку пишет TypeError: Cannot read property '0' of undefined
 |  
	
 оно и не будет работать, в вашем объекте нет такого элемента, что бы оно работало ваш объект должен выглядить так:
 
var arr = {
	a: dom_1,
	b: ["blablah"],
	c: dom_3
}
	
 
	| Сообщение от jsuse   |  
	| 
var q = arr.z  // но так все равно ничего не выдает, пишет просто undefined
 |  
	
 По поводу этого, тоже самое что я написал выше, элемента "z" нету в вашем объекте. |  |  
	| 
		
	| 
			
			 
			
				04.12.2011, 10:49
			
			
			
		 |  
	| 
		
			|  | junior       |  | 
					Регистрация: 29.11.2011 
						Сообщений: 3,924
					 
		
 |  |  
	| trikadin, будет Вам, не злитесь   jsuse , как Вы относитесь к людям, так и они будут к Вам относиться. Будьте уважительней. 
				__________________Чебурашка стал символом олимпийских игр. А чего достиг ты?
 Тишина - самый громкий звук
 |  |  
	| 
		
	| 
			
			 
			
				04.12.2011, 10:51
			
			
			
		 |  
	| 
		
			|  | Модератор       |  | 
					Регистрация: 27.04.2010 
						Сообщений: 3,417
					 
		
 |  |  
	| 
	
 
	| Сообщение от nerv_ |  
	| trikadin, будет Вам, не злитесь |  
	
 Спокоен как слон) Это лишь видимость)
 
Но по поводу этого парня - всё правда) Действительно уже пора бы что-то изучить самому. |  |  
 
 
 
 |  |