ES6+ Basic2

์ธํ”„๋Ÿฐ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ JavaScript ES6+ / ์œ ์ธ๋™

map ํ•จ์ˆ˜

const map = (f, iter) => {
    let res = [];
    for (const p of iter) {
        res.push(f(p));
        // ์–ด๋–ค ๊ฐ’์„ ๋„ฃ์„์ง€ ๋ณด์กฐ ํ•จ์ˆ˜์— ์œ„์ž„
    }
    return res;
}

log(map(p => p.name, products));
  • ๋‚ด์žฅ mapํ•จ์ˆ˜๋Š” array์˜ ํ”„๋กœํ† ํƒ€์ž…์— ์ž‘์„ฑ

  • ์œ„์™€ ๊ฐ™์ด ์ดํ„ฐ๋Ÿฌ๋ธ” ํ”„๋กœํ† ์ฝœ์„ ๋”ฐ๋ฅธ map ํ•จ์ˆ˜๋Š” ๋ชจ๋“  ๊ฒƒ๋“ค์„ mapํ•  ์ˆ˜ ์žˆ์Œ

let m = new Map();
m.set('a', 10);
m.set('b', 20);
log(new Map(map(([k, v]) => [k, v * 2], m)));

filter

-- ์œ„์™€ ๊ฐ™์ด ์ดํ„ฐ๋Ÿฌ๋ธ” ํ”„๋กœํ† ์ฝœ์„ ๋”ฐ๋ฅธ filter ํ•จ์ˆ˜๋Š” ๋ชจ๋“  ๊ฒƒ๋“ค์„ filterํ•  ์ˆ˜ ์žˆ์Œ

reduce

  • ํŠน์ •ํ•œ ๊ฐ’์„ ์ˆœํšŒํ•˜๋ฉด์„œ ๋ˆ„์ ํ•ด ๋‚˜๊ฐˆ๋•Œ ์‚ฌ์šฉ

์ค‘์ฒฉ ์‚ฌ์šฉ

  • map filter reduce ์ค‘์ฒฉ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅ

์ฝ”๋“œ๋ฅผ ๊ฐ’์œผ๋กœ ๋‹ค๋ฃจ์–ด ํ‘œํ˜„๋ ฅ ๋†’์ด๊ธฐ

go

pipe

curry

ํ•จ์ˆ˜ ์กฐํ•ฉ์œผ๋กœ ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ

Last updated