代碼如下: var a = [1,2,3]; function map(fn, a, init){ var s = init; for (i = 0; i < a.length; i++){ s = fn(s,a[i]); } return s; } alert(map(function(x,y){return x+y;}, a , 0)) //把數組的各個元素相加求和 alert(map(function(x,y){return x+y;}, a , "")) //把數組的各個元素連接起來
map 函數定義了對 a 數組遍歷一次,但具體對各個元素執行何種操作,卻沒有定義,需要從其第一個參數來定義。