JS 遞迴函式

2021-09-27 13:26:32 字數 1983 閱讀 1248

函式內部呼叫自己,就是遞迴函式

注意:一定要加退出條件,不然就會死迴圈

例一:利用遞迴求1~n的階乘1 * 2 * 3 * 4 * …n

此**如果拆開解析就是,可以看到fn()函式多次自己呼叫自己,直到條件滿足

function

fn(n)

return n *

fn(n -1)

;}console.

log(fn(

5))// 此遞迴函式進行的過程如下

return5*

fn(5-

1)return5*

fn(4)

return5*

(4*fn

(4-1

))return5*

(4*fn

(3))

return5*

(4*(

3*fn(

3-1)

))return5*

(4*(

3*fn(

2)))

return5*

(4*(

3*(2

*fn(2

-1))

)return5*

(4*(

3*(2

*fn(1

)))return5*

(4*(

3*(2

*1))

例二:利用遞迴函式查詢對應商品

var jsondata =[,

]},]

},]// 乙個函式,接收傳遞的引數,獲取資料

function

getdata

(json,id)

;// 利用foreach遍歷資料,item為遍歷出來的資料

json.

foreach

(function

(item)

else

if(item.goods && item.goods.length >0)

});// 最終將拿到的資料返回

return o;

}

此時,如果呼叫函式並且傳遞id為1時

console.

log(

getdata

(jsondata,1)

)

如果傳遞引數id為11時,則和上面的結果不一樣,會查到裡層的資料

再深一層,傳遞id為112

js函式遞迴

一 遞迴函式概念 自己呼叫自己。二 知識說明 function func func 三 函式 變數 用遞迴來求5的階乘 function func n return n func n 1 console.log func 5 三 函式 函式 斐波拉契題 兔子生兔子題目 從出生後第3個月起每個月都生一...

js 遞迴函式

定義 如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。舉例說明 1.求n的階乘 n 1 x 2 x 3 x x n function factorial n return n factorial n 1 console.log factorial 5 factorial 5 5 factori...

js函式遞迴

一 知識說明 function fun fun 二 函式 變數 用遞迴 來求 5 的階乘 n n n 1 定義乙個函式,用於求 n 的階乘 function func n func n 1 因為傳遞的引數是 n 1,那麼就是求 n 1 的階乘 return n func n 1 console.lo...