Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.10.2014, 20:30
Интересующийся
Отправить личное сообщение для devastor Посмотреть профиль Найти все сообщения от devastor
 
Регистрация: 09.09.2014
Сообщений: 27

Выбор из 3-х мерного JSON
Есть JSON вызывается в формате
data.Cities[i].Services[j].Stations[f].Name

Cities[i] Services[j], и Stations[f] массивы - как в цике перебрать все данные?
если использовать
while (data.Cities[i].Name != null){}

то цикл падает на с ошибкой "data.Cities[i].Name is undefined", что в принципе понятно, объект не определён... Но всё равно не понятно как в таком случае выбирать данные? Гугл предательски молчит
Ответить с цитированием
  #2 (permalink)  
Старый 07.10.2014, 22:15
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А три вложенных цикла чем не устраивают?

Попытался написать универсальный скрипт, собирающий листья дерева (по заданному формату пути):

(function() {


var data = {
	Cities: [{
			Services: [{
					Stations: [
						{Name:'S 1'},
						{Name:'S 2'}
					]
				}
			]
		}, {
			Services: [{
					Stations: [
						{Name:'S 3'},
						{Name:'S 4'}
					]
				}
			]
		}
	]
};

var path = 'Cities/Services/Stations'.split('/');
items = [];
function extract(data, level) {
	level = level || 0;
	var key = path[level];
	if (key) {
		for (var i = 0; i < data[key].length; i++) {
			extract(data[key][i], level + 1);
		}
	} else {
		items = items.concat(data);
	}
}
extract(data);

alert(JSON.stringify(items));
})();


Как можно переписать это с использованием map/reduce?
__________________
В личку только с интересными предложениями

Последний раз редактировалось danik.js, 07.10.2014 в 22:19.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу распарсить JSON. gorenie jQuery 3 29.11.2013 22:26
Проблемы с jqGrid и JSON massacra_panda Библиотеки/Тулкиты/Фреймворки 1 08.10.2012 16:44
Ajax и Json callback функция borabora Prototype & script.aculo.us 0 30.01.2012 15:01
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10