javascriptは再帰を実現する.


javascriptは再帰を実現する.
一、再帰する
再帰的には、関数が自己の呼び出しを実現する過程であり、再帰的には関数の呼び出しが必要であり、条件の終了を実現する.次のいくつかの例.
<script>
let num = 1;
    function fn(){
      
      console.log("       ");
      if(num == 6){
      
        return;
      }
      num++;
      fn();
    }
    fn();
script>
再帰的に6つの言葉を印刷します.
<script>
function fn(n) {
      
      if (n == 1) {
      
        return 1;
      }
      return n * fn(n - 1);
    }
    console.log(fn(4));
script>
最終表示結果は24です.
<script>
 function fb(n) {
      
      if (n === 1 || n === 2) {
      
        return 1;
      }
      return fb(n - 1) + fb(n - 2);
    }
    console.log(fb(5));
    console.log(fb(6));
script>
最終結果は5,8です

<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Documenttitle>
head>

<body>
    <script>
        var data = [{
      
            id: 1,
            name: '  ',
            goods: [{
      
                id: 11,
                gname: '  ',
                goods: [{
      
                    id: 111,
                    gname: '  '
                }, {
      
                    id: 112,
                    gname: '  '
                }, ]
            }, {
      
                id: 12,
                gname: '   '
            }]
        }, {
      
            id: 2,
            name: '  '
        }];
        //        id ,          
        // 1.    forEach            
        function getID(json, id) {
      
            var o = {
      };
            json.forEach(function(item) {
      
                // console.log(item); // 2     
                if (item.id == id) {
      
                    // console.log(item);
                    o = item;
                    // 2.            11 12         
                    //      goods              0 
                } else if (item.goods && item.goods.length > 0) {
      
                    o = getID(item.goods, id);
                }

            });
            return o;
        }
        console.log(getID(data, 1));
        console.log(getID(data, 2));
        console.log(getID(data, 11));
        console.log(getID(data, 12));
        console.log(getID(data, 111));
    script>
body>

html>
最後のデモはデータの検索効果を実現します.2020年1月8日にまとめます.