LoginSignup
1
0

More than 5 years have passed since last update.

Object.each

Last updated at Posted at 2012-03-20

Object.keys(), Object.values() - Qiita の続き。key-valueをペアでイテレートするものが欲しく、しかしこれだけのためにUndersocre.jsを(ry

使い方

var result = obj.each(function (key, value, i) {
    return [key, value, i];
});
console.log(result);
// => [
//      [ 'key1', 'foo', 0 ],
//      [ 'key2', 'bar', 1 ]
//    ]

ソースコード

Object.prototype.each = function(c){var o=this;var r=[];var i=0;for(var k in o) if(o.hasOwnProperty(k)){r.push(c.apply(o,[k,o[k],i++]))}return r}; 

昨日の taka84u9さんからいただいたコメント でも言及されてましたが、prototype汚染は 速度的にも副作用的にもお行儀が悪い ようなので、チーム開発ではやるべきじゃないすね。今回は僕しかメンテしないコードで、かつカリカリにチューンする必要が無いので、使ってしまいますが。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0