Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 21.09.2012, 15:29
Аспирант
Отправить личное сообщение для tiho Посмотреть профиль Найти все сообщения от tiho
 
Регистрация: 19.08.2012
Сообщений: 79

я запутался и вас запутал, извините. это совсем не то что мне надо
Ответить с цитированием
  #12 (permalink)  
Старый 21.09.2012, 15:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,137

Сообщение от tiho
ругается
Так ты делай правильно...

Как вариант

obj = {
	ob : "param 1", 
	more : {
		ob : "param 2", 
		more: {
			ob : "param 3", 
			more : {
				ob: "param 4", 
				more: 0 
			}
		}
	}
};
var aVal = [];
parseOb(obj);
alert(aVal);

function parseOb (Obj) {
	aVal[aVal.length]=Obj['ob']
	if (typeof(Obj['more'])=='object') {
		parseOb(Obj['more'])
	}
};
Ответить с цитированием
  #13 (permalink)  
Старый 22.09.2012, 02:18
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,518

Чтоб избежать проблем рекурсией объекта - просто надо вести доп массив объектов и при рекурсивном вызове проверять не было ли такого объекта прежде, и если оный есть - вставлять заглушку про рекурсию или ссылку на оный.(в зависимости от выводимой структуры). Ничего запредельно сложного. Меня если четно напрягает почему JSON.stringify не делает так, а плюёт ошибкой.
__________________
29375, 35
Ответить с цитированием
  #14 (permalink)  
Старый 22.09.2012, 02:59
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Aetae, и как по-твоему должна выглядеть ссылка в json?
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #15 (permalink)  
Старый 22.09.2012, 03:45
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,518

В json наверное просто игнорировать, просто ворнинг пулять.)

Но да ты прав, я погорячился.)
__________________
29375, 35
Ответить с цитированием
  #16 (permalink)  
Старый 15.11.2015, 20:44
Новичок на форуме
Отправить личное сообщение для anton-line Посмотреть профиль Найти все сообщения от anton-line
 
Регистрация: 15.11.2015
Сообщений: 2

Вот делюсь примером, как я просматриваю объект!
var a={};
a.key=3;
a.super=6;
a.a=1;
a.ooo={};
a.ooo.w=1;
a.ooo.d='ss';
a.ooo.kk={};
a.ooo.kk.eee=12;
a.sss='ddfdsf';


glu=0; //glubina
delta='';
deltastep='    ';

function showobj(obj,oname){
	if(typeof(obj)=='object'){
		showobj_t+='\n'+delta+oname+' {';
		glu++; delta='';
		for(g=0;g<glu;g++){
			delta+=deltastep;
		}
		for(i in obj){
			if( obj[i] == '[object Object]' ){
				showobj(obj[i],oname+'.'+i);
			}
			showobj_t+='\n'+delta+oname+'.'+i;
			showobj_t+=' = '+obj[i];
		}
		glu--; delta='';
		for(g=0;g<glu;g++){
			delta+=deltastep;
		}
		showobj_t+='\n'+delta+'}';
	}else{
		alert('noT!');
	}
}

var showobj_t=''; //итоговый текст
showobj(a,'a');
alert(showobj_t);

Последний раз редактировалось anton-line, 15.11.2015 в 20:51. Причина: отформатиоровал
Ответить с цитированием
  #17 (permalink)  
Старый 15.11.2015, 20:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

anton-line,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #18 (permalink)  
Старый 15.11.2015, 20:50
Новичок на форуме
Отправить личное сообщение для anton-line Посмотреть профиль Найти все сообщения от anton-line
 
Регистрация: 15.11.2015
Сообщений: 2

примечания:
1) deltastep=' '; //тут пробел.. можно поставить 3 пробела для наглядности
2) oname (второй параметр к функции) - тоже только для наглядности
3) проверка "является ли объектом" сделана так: obj[i] == '[object Object]'
потому что "typeof(obj)=='object'" что-то не сработала.. но можете подправить =)
=)

пользуйтесь =)

Последний раз редактировалось anton-line, 15.11.2015 в 20:54.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести данные из PHP Sherminator Events/DOM/Window 2 07.08.2012 20:11
Не правильно работает прокрутка, подскажите как сделать правильно? denfer12 Общие вопросы Javascript 0 09.05.2012 00:34
Подскажите как вывести надпись poseydon Общие вопросы Javascript 5 12.04.2012 22:50
Как получить все атрибуты html елемента imsha Events/DOM/Window 1 07.12.2011 12:42
Подскажите как при помощи JS hta в трею свернуть kimboo Общие вопросы Javascript 4 11.07.2008 16:00