javascript Objectでmap,filter,reduceなどを使いたい....。

配列にはあるけど、Objectにはない....。

Object.protorype.filter = funcion(){

}

とかprototypeで生やしたいところだが、Objectはすべての型の基本なので
不用意に生やすと悲惨なことに。

例えばArray ObjectはObjectを継承しているので、Array.filterが動かなくなる。

なのでlodash(underscorejs)を使うのが無難かな..。
これだとメソッドチェインできないけど....。

  • ネイティブ関数だけでやるなら、Object.keys使ってkeyの配列を作ってそれをmapし

mapの中で、またObjectを呼び出して処理する....。

Object.keys(myObject).map(function(value, index) {
   myObject[value] *= 2;
});
Object.prototype.pick = function(arr) {
    var _this = this;
    var obj = {};
    arr.forEach(function(key){
        obj[key] = _this[key];
    });
    return obj;
};

どうしてもメソッドチェイン使いたければ、継承先の型のメソッド名が被らないか確認した上でprototypeで生やしておいてもいいかも

pickあたりは良く使いそう。