UNPKG

fibfunc

Version:

22 lines (19 loc) 422 B
/** * 改进递归-摘出存储计算结果的功能函数 */ var memoizer = function (func) { let memo = []; return function (n) { if (memo[n] == undefined) { memo[n] = func(n) } return memo[n] } }; var fibonacci = memoizer(function (n) { if (n == 1 || n == 2) { return 1 }; return fibonacci(n - 2) + fibonacci(n - 1); }) module.exports = fibonacci