이 코드는 학원 테스트 코드로 따로 설명은 없다.
Tree.prototype.map = function(callback) {
return this.children.reduce(function(tree, child) {
return tree.addChild(child.map(callback));
}, new Tree(callback(this.value)));
};
reduce를 이용해 새로 만들어질 트리의 root node를 reduce 함수의 초기값으로 설정한다.
-> new Tree(callback(this.value));
1 2
2 3 => 4 6
4 5 6 7 8 10 12 14