Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

JSでもRubyのEnumerableみたいな事をやる

JSでもRubyのEnumerableみたいな事をやる事ができます。
for ... ofみたいなことをやらなくても良いので、意味合いを追いやすくなります。

実際のところ

rubyでいけば、こんな感じですね。

ary = [5, 6, 13, 0, 1, 18, 23]
ary.reduce {|i,j| i += j}
ary.select {|i| (i % 2) == 0 }
ary.map {|i| i * 2 }

これをES6だと次にように書くことができます。

let arr = [5, 6, 13, 0, 1, 18, 23];
let sum = arr.reduce((a, b) => a + b);  
//> 66
let even = arr.filter(v => v % 2 == 0); 
//> [6, 0, 18]
let double = arr.map(v => v * 2); 
//> [10, 12, 26, 0, 2, 36, 46]