1

JavaScriptの再帰関数についてもっと知りたいのですが、フロントエンドのWeb開発に使用する例が見つかりませんでした。(階乗の例しか見つかりませんが、これはあまり役に立ちません)。

フロントエンドWeb開発に再帰関数を使用する必要がある一般的なケースは何ですか?

4

2 に答える 2

2

クライアント側の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)
于 2013-01-20T18:23:34.297 に答える
1

例は次のとおりです。

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);
于 2018-08-04T04:37:27.903 に答える