javascriptのhashのためにmap関数を作る(イテレータじゃない)

ArrayにはmapがあるがObjectというかObjectを利用したhashにはmapがない。
そこでhashを返す関数を作ってみた。
mymap(ハッシュ,関数):返値はハッシュ


js> mymap=function(hash,funk){var r=new Object();for(k in hash){r[k]=funk(hash[k])};return r}
function (hash, funk) {
    var r = new Object();
    for (k in hash) {
        r[k] = funk(hash[k]);
    }
    return r;
}
js> a=mymap({"a":1,"b":2},(function(x){return x+1}));for(k in a){print(k,a[k])}
a 2
b 3