Неравномерные массивы
Завожу массив следующего вида:
MenData = new Array(); mento = new Array(); menurl = new Array(); //запоняем менюшку menurl = new Array('Главная', 'main.html'); mento.push(menurl); MenData.push(mento); menurl = new Array('Услуги', 'services.html'); mento.push(menurl); menurl = new Array('Грузоперевозки', 'gruzo.html'); mento.push(menurl); menurl = new Array('Откачка септиков', 'septicus.html'); mento.push(menurl); menurl = new Array('Вывоз мусора', 'musor.html'); mento.push(menurl); MenData.push(mento); menurl = new Array('Статьи', 'press.html'); mento.push(menurl); MenData.push(mento); menurl = new Array('Вакансии', 'vacancy.html'); mento.push(menurl); MenData.push(mento); menurl = new Array('Контакты', 'contacts.html'); mento.push(menurl); MenData.push(mento); alert('Это у нас '+MenData[1][0][0]); alert(MenData); Первый alert выдаёт "Это у нас Главная" вместо предполагаемого "Это у нас Услуги". Второй - пять раз подряд записанный массив. Где я ошибся в понимании массивов в javascript? :-? |
kukuyok,
А каким местом ваша тема относиться к разделу Сайт Javascript.ru? |
Цитата:
|
Цитата:
http://javascript.ru/forum/misc/ |
Цитата:
Почему бы не сделать так: var MenData = [ ['Главная', 'main.html'], ['Услуги', 'services.html'], ['Грузоперевозки', 'gruzo.html'], ['Откачка септиков', 'septicus.html'], ['Вывоз мусора', 'musor.html'], ['Статьи', 'press.html'], ['Вакансии', 'vacancy.html'], ['Контакты', 'contacts.html'], ['Контакты', 'contacts.html'] ]??? Правда в данном случае удобнее использовать объекты!!! |
И вовсе непонятно, зачем столько переменных? mento и menurl вообще лишние! Если очень хочется добавлять подмассивы по-очереди, переменные необязательны:
var MenData = []; MenData.push(['Главная', 'main.html']); MenData.push(['Услуги', 'services.html']); MenData.push(['Грузоперевозки', 'gruzo.html']); MenData.push(['Откачка септиков', 'septicus.html']); MenData.push(['Вывоз мусора', 'musor.html']); MenData.push(['Статьи', 'press.html']); MenData.push(['Вакансии', 'vacancy.html']); MenData.push(['Контакты', 'contacts.html']); |
Sweet,
О! Спасибо! Давно искал такую запись! Но! Мне нужно, чтобы в массиве массивов массивов была такая структура: MenData - массив, содержащий всё меню. Состоит из массивов mento. | mento - подмассив, в котором 1-й элемент - массив из двух элементов: Названия пункта и URL; 2-й элемент (если есть) - длинный массив из таких же mento (для различения ввёл доп. переменную menurl). А запись таким образом, который предлагаете Вы - заводит простой одномерный массив. |
Гммм... описал, что хотел получить и, кажется, сам себя поймал... :)
|
Вот, собственно, что мне было нужно:
MenData = [ [ ['Главная', 'main.html'] ], [ ['Услуги и цены', 'service.html'], [ ['Вывоз мусора', 'musor.html'], ['Грузоперевозки', 'gruzo.html'], ['Откачка септиков', 'septicus.html'] ] ], [ ['Статьи', 'press.html'] ], [ ['Вакансии', 'vacancy.html'] ], [ ['Контакты', 'contacts.html'] ] ]; Теперь всё работАт. Спасибо, Sweet! |
kukuyok,
для таких структур используют json - обычный объект javascript, а не изврат с массивами. извращенцы :) |
Часовой пояс GMT +3, время: 13:00. |