forループを越えて / beyond for loop
by
Shunsuke Watanabe
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
forϧʔϓΛ͑ͯ ลढ़ี ˏcraftgear
Slide 2
Slide 2 text
ߴ֊ؔͬͯ ͝ଘͰ͔͢ʁ
Slide 3
Slide 3 text
ߴ֊ؔͱ ͨͱ͑ɺ
Slide 4
Slide 4 text
ؔΛҾʹऔΔ ؔ $('#button').click( e => { console.log(e); } );
Slide 5
Slide 5 text
ؔΛΓͱ͠ ͯฦؔ͢ const createCounter = () => { var number = 0; return () => { number++; return number; }; }
Slide 6
Slide 6 text
Array.map(fn)
Slide 7
Slide 7 text
forϧʔϓͰͳ ͯ͘mapϝιο υΛ͏ཧ༝
Slide 8
Slide 8 text
ίʔυ ͷ ҙਤ
Slide 9
Slide 9 text
const a = [1,2,3].map(fn)
Slide 10
Slide 10 text
Γaͷܕ ྻͰɺ ཁૉ̏
Slide 11
Slide 11 text
ྻͷ֤ཁૉ ʹରͯ͠fnΛ ࣮ߦ͍ͯ͠Δ
Slide 12
Slide 12 text
ԿΛΓ͍ͨ ͔fnͷதΛ ಡΊΘ͔Δ
Slide 13
Slide 13 text
Θ͔Γ͍͢ ί ʔ υ ɺॏཁɻ
Slide 14
Slide 14 text
ϝϯς͕༰қ ฏͳίʔυ ϨϏϡʔ
Slide 15
Slide 15 text
fnΛΓग़ ͯ͠ςετ
Slide 16
Slide 16 text
࣭ ্
Slide 17
Slide 17 text
UIߏங ʹศར
Slide 18
Slide 18 text
const dummyTodos = [ { id: 1, title: 'aaaa', done: true }, { id: 2, title: 'aaaa', done: false }, ]; const TodoList = ({ todos }) => (
{todos.map(todo => ( ))}
);
Slide 19
Slide 19 text
map͚ͩ ͡Όͳ͍
Slide 20
Slide 20 text
map(f) filter(f) reduce(f, init) forEach(f) ྻ [n] [n] [n] [n] Γ [n] [<= n] initͱಉܕ ͳ͠
Slide 21
Slide 21 text
some(f) every(f) findIndex(f) find(f) ྻ [n] [n] [n] [n] Γ ਅِ ਅِ ཁૉҰͭ
Slide 22
Slide 22 text
༻্ͷҙ
Slide 23
Slide 23 text
filterʹ͢fn͕ฦ͢ ਅِͰ͋Δ͜ͱ -1falseʹͳΒͳ͍
Slide 24
Slide 24 text
[].some [].every ৗʹtrue ʮۭڏʹਅʯ
Slide 25
Slide 25 text
ඇಉظॲཧ Promise.all()Ͱ
Slide 26
Slide 26 text
reduce ΄Ͳ΄Ͳʹ
Slide 27
Slide 27 text
chainingͱ compositionͰ ֦͕Δੈք
Slide 28
Slide 28 text
const double = v => v * 2 const over5 = v => v > 5 const a = [1,2,3] .map(double) .filter(over5)
Slide 29
Slide 29 text
import * as R from 'ramda'; const doubleOver5 = R.compose( R.filter(over5), R.map(double) );
Slide 30
Slide 30 text
const b = doubleOver5([2, 3, 4]); const c = doubleOver5( {a: 1, b: 2, c: 3} );
Slide 31
Slide 31 text
࣮ԋ
Slide 32
Slide 32 text
Thank You!