Я хотел бы создать функцию, которая будет создавать объекты, которые имеют многоуровневое отношение друг к другу. Таким образом, каждый элемент уровня имеет собственный набор объектов дочернего уровня и разделяет один родительский объект со всеми его братьями и сестрами. Я не знаком с какими-либо шаблонами, но я бы предположил, что есть один, чтобы охватить этот тип сценария.javascript pattern, parent children siblings tiers
//constructor
var Tier = function(parent){
if(parent===undefined)Tier.prototype.Parent = null;
else if(parent.constructor===Tier)Tier.prototype.Parent = parent;
else return //an error code;
//each tiered object should contain it's own set of children tiers
this.Children = [];
//...
//...additional properties...
//...
this.addChild = function(){
this.Children.Push(new Tier(this));
};
}
Tier.prototype.Parent; //I want this to be shared with all other tier objects on the same tier BUT this will share it between all tier objects regaurdless of what tier the object is on :(
Tier.prototype.Siblings; //should point to the parents child array to save on memory
Можно ли создать такой объект, где каждый объект уровня содержит свои собственные дети и разделяет родительский объект с его родным братом, но разные уровни разделяют правильные родители. Я считаю, что если я использую что-то вроде выше, когда добавляю новый ребенок, он сделает Tier.prototype.Parent родителем этого дочернего элемента, но для всех объектов, которые не являются правильными. Я не уверен, как обойти это.
Любая помощь очень ценится.
Вы хотите, чтобы один родитель? –
Итак, хотите ли вы получить всех братьев и сестер, если они получили родителя? просто спрашивая bcoz, работая над ответом, я немного смутил эту вещь. –
да каждый уровень имеет ровно один родитель и 1 или более детей и 0 или более братьев и сестер – 0xor1