powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Хранить сылку на адрес...
5 сообщений из 5, страница 1 из 1
Хранить сылку на адрес...
    #36459403
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть сложная древовидная JSON структура, можноли сохранить ссылку на адрес: obj[0]['sub'][0]['sub'][2]['sub'][1]['name']...
...
Рейтинг: 0 / 0
Хранить сылку на адрес...
    #36459501
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zenia,

Что значит "сохранить ссылку"? Как это будет применяться?

Пока напрашивается очевидное
Код: plaintext
var r = obj[ 0 ]['sub'][ 0 ]['sub'][ 2 ]['sub'][ 1 ]['name']...
...
Рейтинг: 0 / 0
Хранить сылку на адрес...
    #36459556
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда переменная r будет равна [name]. Надо сохранить именно ссылку на адрес где лежит этот [name].

Я делаю так:

Код: plaintext
1.
2.
var arr = [ 0 , 0 , 2 , 1 ] //сохраняю массив ссылок
var objAdr = "obj[" + arr.join("]['sub'][") + "]"; //преобразую obj[ 0 ]['sub'][ 0 ]['sub'][ 2 ]['sub'][ 1 ]
eval(objAdr+"['name']='Node_45';"); //и присваиваю

Но это через задницу :(
...
Рейтинг: 0 / 0
Хранить сылку на адрес...
    #36459632
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zenia,

понял. Вот, навскидку (не проверял):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
var arr = [ 0 , 0 , 2 , 1 ];

    function SetValue(ob, addr, nm, v) {
		for(var i= 0 ; i<addr.length; ++i) { ob = ((i> 0 )?ob.sub:ob)[addr[i]]; }
		ob[nm] = v;
    }
    function GetValue(ob, addr, nm) {
		for(var i= 0 ; i<addr.length; ++i) { ob = ((i> 0 )?ob.sub:ob)[addr[i]]; }
		return ob[nm];
    }


SetValue(obj, arr, 'name', 'Node_45');

var x = GetValue(obj, arr, 'name');
...
Рейтинг: 0 / 0
Хранить сылку на адрес...
    #36459774
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч,

Можно и так... рекурсивно копировать детей в ob но так пожрет память. У меня этот json около мегабайта занимает...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Хранить сылку на адрес...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]