Slide 1

Slide 1 text

覚えておくと 仕事で役立つ関数 n 選 esm ITS-BI 一斉会議 07.07.2017

Slide 2

Slide 2 text

覚えて置くと仕事で役立つ関数 n 選 よく使うもの map reduce filter distinct flatten zip cycle sort apply take assoc remove rest

Slide 3

Slide 3 text

覚えて置くと仕事で役立つ関数 n 選 よく使うもの map reduce filter distinct flatten zip cycle sort apply take assoc remove rest

Slide 4

Slide 4 text

覚えて置くと仕事で役立つ関数 n 選 よく使うもの map reduce filter distinct flatten zip cycle sort apply take assoc remove 今日はコレの話をします
 rest

Slide 5

Slide 5 text

覚えて置くと仕事で役立つ関数 n 選 よく使うもの map reduce filter distinct flatten zip cycle sort apply take assoc remove 今日はコレの話をします
 (時間の都合で) rest

Slide 6

Slide 6 text

覚えて置くと仕事で役立つ関数 n 選 zip

Slide 7

Slide 7 text

覚えて置くと仕事で役立つ関数 n 選 zip

Slide 8

Slide 8 text

覚えて置くと仕事で役立つ関数 n 選 zip これの話ではありません ☓

Slide 9

Slide 9 text

覚えて置くと仕事で役立つ関数 n 選 zip var array1 = [1, 2, 3, 4, 5]; var array2 = ['a', 'b', 'c', 'd', 'e']; 


Slide 10

Slide 10 text

覚えて置くと仕事で役立つ関数 n 選 zip var array1 = [1, 2, 3, 4, 5]; var array2 = ['a', 'b', 'c', 'd', 'e']; __.zip(array1, array2);


Slide 11

Slide 11 text

覚えて置くと仕事で役立つ関数 n 選 zip var array1 = [1, 2, 3, 4, 5]; var array2 = ['a', 'b', 'c', 'd', 'e']; __.zip(array1, array2);
 => [ [ 1, 'a' ], [ 2, 'b' ], [ 3, 'c' ], [ 4, 'd' ], [ 5, 'e' ] ]

Slide 12

Slide 12 text

覚えて置くと仕事で役立つ関数 n 選 zip ͜ΕɺԿʹ࢖͑Δͷʁʁʁ var array1 = [1, 2, 3, 4, 5]; var array2 = ['a', 'b', 'c', 'd', 'e']; __.zip(array1, array2);
 => [ [ 1, 'a' ], [ 2, 'b' ], [ 3, 'c' ], [ 4, 'd' ], [ 5, 'e' ] ]

Slide 13

Slide 13 text

覚えて置くと仕事で役立つ関数 n 選 zip var days = [ 2017-07-01, 2017-07-02, 2017-07-03, 2017-07-04, 2017-07-05, 2017-07-06, 2017-07-07, 2017-07-09, 2017-07-11] 


Slide 14

Slide 14 text

覚えて置くと仕事で役立つ関数 n 選 zip var days = [ 2017-07-01, 2017-07-02, 2017-07-03, 2017-07-04, 2017-07-05, 2017-07-06, 2017-07-07, 2017-07-09, 2017-07-11] 
 ೔෇͕ॳΊͯෆ࿈ଓʹͳΔ ৔ॴΛͲ͏୳͠·͔͢ʁ

Slide 15

Slide 15 text

var days = [ 2017-07-01, 2017-07-02, 2017-07-03, 2017-07-04, 2017-07-05, 2017-07-06, 2017-07-07, 2017-07-09, 2017-07-11] 
 覚えて置くと仕事で役立つ関数 n 選 zip

Slide 16

Slide 16 text

覚えて置くと仕事で役立つ関数 n 選 zip var unmatchFirst = -1; for (var i = 0; i < days.length - 1; i++) { var current = days[i], next = days[i + 1]; if (next.getDate() - current.getDate() != 1) { unmatchFirst = i; break; } }

Slide 17

Slide 17 text

覚えて置くと仕事で役立つ関数 n 選 zip var unmatchFirst = -1; for (var i = 0; i < days.length - 1; i++) { var current = days[i], next = days[i + 1]; if (next.getDate() - current.getDate() != 1) { unmatchFirst = i; break; } } ͜Μͳײ͡ʁ

Slide 18

Slide 18 text

覚えて置くと仕事で役立つ関数 n 選 zip var unmatchFirst = -1; for (var i = 0; i < days.length - 1; i++) { var current = days[i], next = days[i + 1]; if (next.getDate() - current.getDate() != 1) { unmatchFirst = i; break; } } ͜Ε࢖͍·͠ΐ͏

Slide 19

Slide 19 text

覚えて置くと仕事で役立つ関数 n 選 zip __.zip(days, __.rest(days.concat([null])))

Slide 20

Slide 20 text

覚えて置くと仕事で役立つ関数 n 選 zip __.zip(days, __.rest(days.concat([null]))) => [ [ 2017-07-01, 2017-07-02 ], [ 2017-07-02, 2017-07-03 ], [ 2017-07-03, 2017-07-04 ], : [ 2017-07-11, null ] ]

Slide 21

Slide 21 text

覚えて置くと仕事で役立つ関数 n 選 zip __.zip(days, __.rest(days.concat([null]))) => [ [ 2017-07-01, 2017-07-02 ], [ 2017-07-02, 2017-07-03 ], [ 2017-07-03, 2017-07-04 ], : [ 2017-07-11, null ] ] ͜͜·ͰདྷΕ͹উͪͰ͢Ͷ

Slide 22

Slide 22 text

覚えて置くと仕事で役立つ関数 n 選 zip __.chain(days). zip(__.rest(days.concat([null]))). initial(). map(([c, n]) => n.getDate() - c.getDate()). findIndex(diff => diff != 1). value();

Slide 23

Slide 23 text

覚えて置くと仕事で役立つ関数 n 選 zip __.chain(days). zip(__.rest(days.concat([null]))). initial(). map(([c, n]) => n.getDate() - c.getDate()). findIndex(diff => diff != 1). value(); => 6

Slide 24

Slide 24 text

覚えて置くと仕事で役立つ関数 n 選 zip __.chain(days). zip(__.rest(days.concat([null]))). initial(). map(([c, n]) => n.getDate() - c.getDate()). findIndex(diff => diff != 1). value(); => 6

Slide 25

Slide 25 text

覚えて置くと仕事で役立つ関数 n 選 まとめ ‣ zip便利 ‣ n 選といいつつ一つしか説明しませんでした。 ‣ もっと知りたい方は関数型勉強会へjoinして ください!