2
我對JavaScript很陌生,不理解它的一些行爲。我想寫一本在Eloquent JavaScript書中發現的reduce函數的遞歸版本。這是我的代碼:JavaScript中的遞歸減少
function rec_reduce(fn, base, list) {
if(list.length === 0) {
return base;
}
else {
rec_reduce(fn, fn(base, list[ 0 ]), list.slice(1));
}
}
print(rec_reduce(Math.min, 100, [ 5, 3, 7, 2, 6, 5 ]));
結果是:
undefined
要看看這是怎麼回事,我把:
print(base);
作爲函數的第一線,結果是:
100
5
3
3
2
2
2
undefined
誰能解釋我w HY?
THX很多!!我現在忘記了這個返回的事情,主要是因爲每一個thime我需要遞歸的東西,我在原型中的原型 - 沒有返回聲明;)再次! – trzewiczek 2011-01-11 11:18:21