Создать объект в объекте
Добрый день!
Сильно не ругайтесь, только начинаю изучать JS. Имеем выражение вида {A: {B: 'C'}} Насколько я понимаю, это можно расшифровать как объект A имеет объект B, который в свою очередь имеет строку C. У меня есть массив следующего содержания: obj[A, B, C] и мне необходимо привести его к вышеописанному выражению: {A: {B: 'C'}} Я обхожу массив циклом и создаю объект в объекте (проверяя, не является ли текущий элемент последним - если так, то делаем его строкой). Так вот я не совсем понимаю, как сделать так, чтобы предыдущий созданный объект содержал в себе текущий объект, подскажите, что прописать в цикле? for(var i=0; i<obj.length; i++) { ??? } |
Цитата:
var obj3 = new Object(); //создали объект obj3.C = 'c';//создали ему свойство C var obj2 = new Object();//создали еще один объект obj2.B = obj3;//создали ему свойство B и присвоили ему ссылку(указатель) на obj3 var obj = new Object();//создали еще один объект obj.A = obj2;//создали ему свойство A и присвоили ему ссылку(указатель) на obj2 console.log(obj);//вывели в консоль объект obj |
Спасибо большое, что разъяснили.
А как теперь это сделать в цикле? Пробовал начинать так, но синтаксис еще полностью не знаю: for(var i=0; i<obj.length; i++) { var obj+i = new Object(); obj.obj[i] = obj.i; } alert(obj); |
как вариант:
var obj = new Object(); obj.C = 'c'; var new_obj, old_obj old_obj = obj; for (var i = 0; i < 3; i++) { var new_obj = new Object(); new_obj.property = old_obj; old_obj = new_obj; } console.log(old_obj); но это честно говоря извращение)) |
Часовой пояс GMT +3, время: 01:32. |