Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.12.2011, 02:47
Аспирант
Отправить личное сообщение для jsuse Посмотреть профиль Найти все сообщения от jsuse
 
Регистрация: 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


Почему так? Возможно ли вообще так обратится к ассоциативному массиву?
Ответить с цитированием
  #2 (permalink)  
Старый 04.12.2011, 02:49
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Здравствуйте!

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://htmlbook.ru

Задавайте конкретные вопросы по ходу дела.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #3 (permalink)  
Старый 04.12.2011, 02:54
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

http://javascript.ru/accessors
Ответить с цитированием
  #4 (permalink)  
Старый 04.12.2011, 02:58
Аспирант
Отправить личное сообщение для jsuse Посмотреть профиль Найти все сообщения от jsuse
 
Регистрация: 10.04.2010
Сообщений: 92

Сообщение от trikadin Посмотреть сообщение
На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://htmlbook.ru
Задавайте конкретные вопросы по ходу дела.
Я задал более чем конкретный вопрос. Лучшее, что Вы могли бы сделать, если жмете прямой ответ - это подсказать, где именно найти об этом информацию в учебнике. А вот такие ответы, как вы дали, я бы хотел попросить Вас больше не писать вообще. Полезней для форума будет. Ссылки на учебники на сайте я и сам могу найти. Спасибо.
Ответить с цитированием
  #5 (permalink)  
Старый 04.12.2011, 04:42
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

var z = b[0] 
var q = arr[z]

// или
var q = arr[b[0]]
Ответить с цитированием
  #6 (permalink)  
Старый 04.12.2011, 10:36
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

var obj = { a:1, b:2, c:3 }; // объект
var arr = [1, 2, 3]; // массив

alert(obj['a']) // объект как ассоциативный массив
alert(arr[0]) // элемент массива
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #7 (permalink)  
Старый 04.12.2011, 10:45
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от jsuse
А вот такие ответы, как вы дали, я бы хотел попросить Вас больше не писать вообще. Полезней для форума будет. Ссылки на учебники на сайте я и сам могу найти. Спасибо.
Такие вопросы, какие вы задали, я бы хотел попросить Вас больше не задавать вообще.

jsuse, Вы уже, наверное, в пятой теме задаёте пустяковые вопросы, ответы на которые находятся внимательным чтением учебника на этом сайте. На предыдущие четыре (или сколько их там было) я отвечал. Но нет смысла конкретно отвечать человеку, который не старается приложить силы для самостоятельного изучения языка. Поэтому я и предложил вам почитать учебник на сайте.

И, напоследок: я сам буду решать, какие ответы мне давать, а какие - нет. Смекаешь?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #8 (permalink)  
Старый 04.12.2011, 10:46
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 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" нету в вашем объекте.
Ответить с цитированием
  #9 (permalink)  
Старый 04.12.2011, 10:49
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

trikadin, будет Вам, не злитесь

jsuse, как Вы относитесь к людям, так и они будут к Вам относиться. Будьте уважительней.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #10 (permalink)  
Старый 04.12.2011, 10:51
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от nerv_
trikadin, будет Вам, не злитесь
Спокоен как слон) Это лишь видимость)

Но по поводу этого парня - всё правда) Действительно уже пора бы что-то изучить самому.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу получить свойство объекта FINoM Общие вопросы Javascript 4 04.12.2011 04:46
Свойства объекта, методы и this. Почему свойство вызывается с () ? jsuse Общие вопросы Javascript 2 04.11.2011 20:39
как получить массив options ? Awilum jQuery 4 12.10.2011 14:32
добавить элементы в ассоциативный массив noer Элементы интерфейса 7 14.05.2009 10:41
ассоциативный массив где ключ это год или ..... Sandr Общие вопросы Javascript 8 18.07.2008 15:39