JavaScriptの再帰関数についてもっと知りたいのですが、フロントエンドのWeb開発に使用する例が見つかりませんでした。(階乗の例しか見つかりませんが、これはあまり役に立ちません)。
フロントエンドWeb開発に再帰関数を使用する必要がある一般的なケースは何ですか?
JavaScriptの再帰関数についてもっと知りたいのですが、フロントエンドのWeb開発に使用する例が見つかりませんでした。(階乗の例しか見つかりませんが、これはあまり役に立ちません)。
フロントエンドWeb開発に再帰関数を使用する必要がある一般的なケースは何ですか?
クライアント側のJavaScriptでの再帰の最大のユースケースは、ツリートラバースです。DOMとJSONはどちらもツリー構造であるため、ほとんどの場合、再帰を使用してそれらをトラバースします。たとえば、次のように、「ノードで何かを行い、その子孫ノードで同じことを繰り返す」パターンに従います。
uppercase_text_nodes(node): // pseudocode
if node.type == TEXT
node.value = node.text.toUpperCase
else for each child in node.children
uppercase_text_nodes(child)
例は次のとおりです。
var walkDOM = function (node) {
var func = function (node) {
console.log(node);
};
func(node);
node = node.firstElementChild;
while (node) {
walkDOM(node);
node = node.nextSibling;
}
};
const parentEl = document.getElementById('parent');
walkDOM(parentEl);