遞迴:函式內部自己呼叫自己,這個函式就是遞迴函式,但是遞迴裡面必須加退出條件
先看乙個小例子
var num = 1;
function fn()
num++;
fn()
} fn()
結果是'我要暴富'列印6次,因為第6次return
再來實現乙個小demo,利用遞迴函式求1~n的階乘 123*4 …n
function fn(n)
return n * fn(n -1)
} console.log(fn(3))
結果為6,怎麼得到的呢?
使用者輸入的是3
return 3 * fn(2)
return 3 * (2 * fn(1))
return 3 * (2 * 1)
再來乙個小demo,利用遞迴篩選遍歷資料
我們想要做輸入id號,就可以返回的資料物件
var data = [
]},]}, ]
//1.利用foreach去遍歷裡面的每乙個物件
var o = {}
// 報錯就把{}換成null
JS遞迴函式案例
var num 1 function fn num fn 在函式內部呼叫了自身 fn 案例1 利用遞迴函式求1 2 3 4 nfunction fn n return n fn n 1 console.log fn 3 輸出6 案例2 求斐波那契數列fibonacci中的第n個數是多少?1 1 2 ...
理解js遞迴演算法
遞迴演算法是一種看似簡單,但邏輯性比較複雜的演算法。一般我們看的遞迴 很複雜的問題3 4行就可以解決的,但是背後的邏輯還是很複雜的。遞迴的特點總結 1 自呼叫,就是在函式裡面呼叫自己 2 最關鍵的一點,就是乙個遞迴必須明確結束條件,不然就會陷入無窮的死迴圈 3 缺點,就是消耗大量記憶體 下面我們總結...
案例 遞迴呼叫
1 什麼是遞迴 實現某些功能不用遞迴可能要幾十行 用遞迴可能幾行就搞定了,而且 清晰簡潔。一直以為遞迴也就是自己呼叫自己,有乙個出口條件,讓他停止遞迴,退出函式,其實的特點並非就這些。遞迴還有乙個非常重要的特點 先進後出,跟棧類似,先遞進去的後遞出來。由於遞迴一直在自己呼叫自己,有時候我們很難清楚的...