function map(a, func) {
var ret = [];
for (var i = 0; i < a.length; i++) {
ret[i] = func(a[i]);
}
return ret;
map([1, 2, 3, 4, 5], function(v) { return v * v; });