phinajs / phina.js

phina.js is game library
http://phinajs.com
MIT License
308 stars 51 forks source link

array most 実装 #153

Closed simiraaaa closed 8 years ago

simiraaaa commented 8 years ago

array most実装しました。とテストも書きました。

[1,2,111].most() //{max:111, min:1}
[{x:100,y:-100},{x:1,y:0}].most(o=>o.x)//{max:{x:100,y:-100},min:{x:1,y:0}}
phi-jp commented 8 years ago

@simiraaaa san 第二引数で this 渡せると嬉しいです!

simiraaaa commented 8 years ago

渡せるようにしました。

simiraaaa commented 8 years ago

bind するのとしないので、ほんのちょっとだけ関数呼び出しに時間がかかったりするので、余計なbindは避けたいなと思ってるんですが...。まあ、ほんとにちょっとだけですけど。(+10nano秒ぐらい)

self = self || this;
//は
if(typeof self === 'undefined')selft = this;

でもいいですかね?

phi-jp commented 8 years ago

誤差の範囲なきがしますね 利便性考えると必ず bind で良いと思います!

そのコードで👍です

simiraaaa commented 8 years ago

あ、というか、bindしないと普通の時のthisも参照できませんねw

simiraaaa commented 8 years ago

callにしました! 最近Firefoxが特定のコードだけは謎の速さだったりしますね。 webkit系だと call < bind(をした関数の呼び出し) < apply の順で速いです

simiraaaa commented 8 years ago

可読性高めにしました!

phi-jp commented 8 years ago

@simiraaaa san ありがとうございます:D バッチリです :+1:

LGTM