>>14
JSスレで聞いた方がいいと思うが…とりあえず思いつくままに

var tree = [ 1, [ 3, [ 7, 9] ] ] ;
var f = x => x*2 ;
var g = (f, xs) => Array.isArray(xs) ? xs.map( x=> g(f, x) ) : f(xs) ;

console.log( g(f, tree) ) ; // [ 2, [ 6, [ 14, 18 ] ] ] ;