Расширение объекта с помощью метода обхода дерева в javascript - PullRequest
0 голосов
/ 09 февраля 2011

У меня есть пользовательский объект, который содержит массив (называемый «дети»), в котором будут храниться объекты одного типа, в результате чего создается дерево.
Допустим, это выглядит так:

function CustomObject(){
    if (this instanceof Topic) {
    this.text = "Test";
    this.children = [];
    } else
        return new CustomObject(); }

Теперь я хотел бы добавить к этому объекту метод forAll, который будет выполнять другую функцию, предоставляемую в качестве аргумента, для всех элементов этого дерева в глубину. Какой лучший способ сделать это?

1 Ответ

1 голос
/ 09 февраля 2011

Как то так?

CustomObject.prototype.forAll = function(func) {
  // process this object first
  func(this);

  // then process children
  for (var i = 0; i < this.children.length; i++)
    this.children[i].forAll(func);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...