Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.10.2010, 04:32
Аватар для kukuyok
Интересующийся
Отправить личное сообщение для kukuyok Посмотреть профиль Найти все сообщения от kukuyok
 
Регистрация: 11.09.2010
Сообщений: 23

Неравномерные массивы
Завожу массив следующего вида:
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?
Ответить с цитированием
  #2 (permalink)  
Старый 03.10.2010, 10:14
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

kukuyok,
А каким местом ваша тема относиться к разделу Сайт Javascript.ru?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #3 (permalink)  
Старый 03.10.2010, 12:21
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от kukuyok
Где я ошибся в понимании массивов в javascript?
http://alljs.ru/articles/array/
Ответить с цитированием
  #4 (permalink)  
Старый 03.10.2010, 12:48
Аватар для kukuyok
Интересующийся
Отправить личное сообщение для kukuyok Посмотреть профиль Найти все сообщения от kukuyok
 
Регистрация: 11.09.2010
Сообщений: 23

Сообщение от Gozar
kukuyok,
А каким местом ваша тема относиться к разделу Сайт Javascript.ru?
Ой-йой! Пардонюсь! Перенести бы сюда :-[
http://javascript.ru/forum/misc/
Ответить с цитированием
  #5 (permalink)  
Старый 03.10.2010, 13:44
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от kukuyok
Где я ошибся в понимании массивов в javascript?
По-моему, ты ошибаешься в понимании javascript В javascript все делается легко и непринужденно, чтобы написание каждой строчки кода приносило удовольствие! А твой массив внешне похож на твой аватар. Нафига создавать такого урода, такими уродскими методами? С ним же невозможно будет работать!!!!
Почему бы не сделать так:
var MenData = [
  ['Главная', 'main.html'],
  ['Услуги', 'services.html'], 
  ['Грузоперевозки', 'gruzo.html'], 
  ['Откачка септиков', 'septicus.html'], 
  ['Вывоз мусора', 'musor.html'], 
  ['Статьи', 'press.html'], 
  ['Вакансии', 'vacancy.html'], 
  ['Контакты', 'contacts.html'], 
  ['Контакты', 'contacts.html'] 
]
??? Правда в данном случае удобнее использовать объекты!!!
Ответить с цитированием
  #6 (permalink)  
Старый 03.10.2010, 14:10
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

И вовсе непонятно, зачем столько переменных? 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']);
Ответить с цитированием
  #7 (permalink)  
Старый 03.10.2010, 15:36
Аватар для kukuyok
Интересующийся
Отправить личное сообщение для kukuyok Посмотреть профиль Найти все сообщения от kukuyok
 
Регистрация: 11.09.2010
Сообщений: 23

Sweet,
О! Спасибо! Давно искал такую запись! Но! Мне нужно, чтобы в массиве массивов массивов была такая структура:

MenData - массив, содержащий всё меню. Состоит из массивов mento.
|
mento - подмассив, в котором 1-й элемент - массив из двух элементов: Названия пункта и URL; 2-й элемент (если есть) - длинный массив из таких же mento (для различения ввёл доп. переменную menurl).

А запись таким образом, который предлагаете Вы - заводит простой одномерный массив.

Последний раз редактировалось kukuyok, 03.10.2010 в 15:40.
Ответить с цитированием
  #8 (permalink)  
Старый 03.10.2010, 15:44
Аватар для kukuyok
Интересующийся
Отправить личное сообщение для kukuyok Посмотреть профиль Найти все сообщения от kukuyok
 
Регистрация: 11.09.2010
Сообщений: 23

Гммм... описал, что хотел получить и, кажется, сам себя поймал...
Ответить с цитированием
  #9 (permalink)  
Старый 03.10.2010, 19:05
Аватар для kukuyok
Интересующийся
Отправить личное сообщение для kukuyok Посмотреть профиль Найти все сообщения от kukuyok
 
Регистрация: 11.09.2010
Сообщений: 23

Вот, собственно, что мне было нужно:
MenData = [
		[
			['Главная', 'main.html']
		],
		[
			['Услуги и цены', 'service.html'],
			[
				['Вывоз мусора', 'musor.html'],
				['Грузоперевозки', 'gruzo.html'],
				['Откачка септиков', 'septicus.html']
			]
		],
		[
			['Статьи', 'press.html']
		],
		[
			['Вакансии', 'vacancy.html']
		],
		[
			['Контакты', 'contacts.html']
		]
	];


Теперь всё работАт. Спасибо, Sweet!
Ответить с цитированием
  #10 (permalink)  
Старый 03.10.2010, 22:30
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

kukuyok,
для таких структур используют json - обычный объект javascript, а не изврат с массивами.

извращенцы
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы удаление элемента и вставка на его место другого mycoding Общие вопросы Javascript 1 19.04.2010 22:30
jquery validator и массивы чекбоксов ekkl jQuery 1 16.10.2009 16:26
Помогите разобраться. Массивы, управляющие структуры и прочее... hadji29 Общие вопросы Javascript 1 23.02.2009 21:17
JS и массивы big Общие вопросы Javascript 4 21.12.2008 14:24
Массивы, ссылки, объекты... Гость Общие вопросы Javascript 1 11.10.2007 17:37