μ€λμ κ°μ μκ°, μ€ν°λ μ€λΉ, κ³Όμ λ‘ μ λ§ λμ½ λ° μ μμ΄ λ°λΉ΄λ€.
μλ§ μ, λͺ©, κΈ 3μΌμ κ³μ μ΄λ κ² λ³΄λΌ κ² κ°λ€. κ·Έλλ μ€λ μ€ν°λ μ€λΉλ μ λ° μ λλ μλ£νκ³ , κ°μλ μκ°νλ€. κ³Όμ λ κ³μ κ³ λ―Ό μ€μΈλ° νλ¦΄λ― μνλ¦°λ€...
μμ κ±°μ μμΉ¨λΆν° 12μκ° μ΄μ 곡λΆνλ κ² κ°μλ° λ€ννλ μ§μ€λ ₯μ΄ μ€λ κ°λ€. κ³μ νλ΄λ³΄μ!
ν¨μν νλ‘κ·Έλλ°...λ°°μΈμλ‘ μ¬λ°λλ° λκ° μ μ μ΄λ €μμ§λ€.
1. map
2. filter
3. reduce
4. go
5. pipe
6. curry
// map λ©μλμ μ¬μ©
log([1, 2, 3].map(a => a + 1));
// λ°°μ΄μ ννκ° μλκΈ° λλ¬Έμ map ν¨μλ₯Ό κ°μ§μ§ μμ
document.querySelectorAll('*')
log(document.querySelectorAll('*').map(el => el.nodeName)); // μ€λ₯ λ°μ
// map
const map = (f, iter) => {
let res = [];
for (const a of iter) {
res.push(f(a));
}
return res;
};
// document.querySelectorAll('*') μ΄ν°λ¬λΈνκΈ° λλ¬Έμ λμ
log(map(el => el.nodeName, document.querySelectorAll('*')))
const it = document.querySelectorAll('*')[Symbol.iterator]();
log(it.next())
κ°μλ₯Ό λ£κ³ λ°λΌνλ©΄ μ΄ν΄κ° λλλ° νΌμ ꡬννκΈ°λ μ λ§ μ½μ§μλ€.
μ’μ 보λ€λ κΎΈμ€ν λλ₯Ό λ―Ώκ³ λμκ°μΌκ² λ€.
μ μ κ±°λΆλͺ©κ³Ό μ΄κΉ¨ ν΅μ¦μ΄ μ¬ν΄μ§λ€... μ€κ° μ€κ° κΌ μ€νΈλ μΉμ νλ©΄μ 곡λΆν΄μΌκ² λ€.
κ·Έλ¦¬κ³ κ±΄κ°ν κ°λ°μκ° λκΈ° μν΄ μκ°λ΄μ μ΄λλ ν΄μΌκ² λ€~ππ»ββοΈ