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, будет Вам, не злитесь
|
Спокоен как слон) Это лишь видимость)
Но по поводу этого парня - всё правда) Действительно уже пора бы что-то изучить самому.
|
|
|
|