Создать объект в объекте
Добрый день!
Сильно не ругайтесь, только начинаю изучать 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, время: 02:48. |