Learn map,filter and reduce in Javascript - Lee-hyuna/33-js-concepts-kr GitHub Wiki
μ΄ κΈ°μ¬λ Javascriptμ μ΄λ³΄μ λλ ν¨μν Javascriptλ‘ μμ μ μμνκ³ μ§λ, filter λ° reduce ν¨μμ λν΄ λ€μ΄ λ³Έ μ μ΄μλ μ¬λλ€μ λμμΌλ‘ν©λλ€. μ΄λ―Έ μ΄κ²λ€μ κ°μ§κ³ λ§μ μ°μ΅μνλ€λ©΄, λμͺ½μ μλ ν₯λ―Έλ‘μ΄ κΈλ‘ μ΄λν΄λ λ©λλ€.
ν¨μν νλ‘κ·Έλλ°μ ν¨μμ μΆλ ₯ κ°μ΄ ν¨μμ μ λ¬ λ μΈμμλ§ μμ‘΄νλ νλ‘κ·Έλλ° ν¨λ¬λ€μμ λλ€. λ°λΌμ ν¨μλ₯Ό νΉμ μκ°λ§νΌ νΈμΆνλ©΄ νΈμΆ μκ°μ κ΄κ³μμ΄ νμ λμΌν κ²°κ³Όκ° μμ±λ©λλ€. μ΄κ²μ λ§μ ν¨μκ° λ‘컬 λλ κΈλ‘λ² μνμμ μλνλ μ¬λ¬ κ°μ§ 곡ν΅μ μ΄κ³ νλμ μΈ μ½λμ λμ‘°λλλ°, μ΄λ μλ‘ λ€λ₯Έ μ€νμμ λ€λ₯Έ κ²°κ³Όλ₯Ό λ°ν ν μ μμ΅λλ€. ν΄λΉ μνμ λ³κ²½μ λΆμμ©μ΄λ©° μ΄λ₯Ό μ κ±°νλ©΄ μ½λμ λμμ λ μ½κ² μ΄ν΄νκ³ μμΈ‘ν μ μμ΅λλ€.
ν¨μν νλ‘κ·Έλλ°μ ν΅μ¬ κΈ°λ° μ€ νλλ λͺ©λ‘ λ° λͺ©λ‘ μ°μ°μ μ¬μ©νλ€λ κ²μ λλ€. Javascriptμμ μ°λ¦¬λ **map **, **filter ** λ° **reduce **λ₯Ό κ°μ§κ³ μμ΅λλ€. μ΄κΈ° 리μ€νΈ(λ°°μ΄)κ° μ£Όμ΄μ§ λͺ¨λ ν¨μλ λμΌν μλμ 리μ€νΈ(λ°°μ΄)λ₯Ό κ·Έλλ‘ μ μ§νλ©΄μ λ€λ₯Έ κ²μΌλ‘ λ³νν©λλ€.
λλλ‘ μ°λ¦¬λ κ° κ°μ²΄μ μμ±μ μμ / μΆκ°νλ €λ κ°μ²΄ λ°°μ΄μ κ°μ§κ³ μμΌλ©°, λ€λ₯Έ κ²½μ°μλ λͺ¨λ κ°μ²΄λ₯Ό μλ¬Έμλ‘ λ°κΎΈλ λ¬Έμμ΄ λ°°μ΄μ κ°μ§ μλ μμ΅λλ€. μ€μ λ‘ **map **μ΄ κ΅¬μΈμ£Όμ΄λ©° λ¬΄μ² μ¬μ©νκΈ° μ¬μ΄ 무μν μν©μ΄μμ μ μμ΅λλ€.
mapμ νΈμΆνλ κ°μ₯ κΈ°λ³Έμ μΈ λ°©λ²μ λλ€.
Mapμ μ¬μ©νμ¬ λ°°μ΄μ λͺ¨λ μ«μμ 2λ₯Ό κ³±ν©λλ€.
보μλ€μνΌ, **map **μ μ½λ°±μ μΈμλ‘λ°μ΅λλ€. κ·Έ μ½λ°±μλ λ°λ³΅μ **νμ¬ κ° **, λ°λ³΅μ **μΈλ±μ€ **, λ§΅μ΄ νΈμΆ λ μλ λ°°μ΄ **μ΄ μ£Όμ΄μ§λλ€. μ½λ°± λ΄μμ "this"**λ‘ μ¬μ©ν κ°μΈ map (μ½λ°± μ΄ν)μ λν μ νμ λ λ²μ§Έ μΈμκ° μμ΅λλ€.
λκ°μ λ°°μ΄ μ€λΈμ νΈ :
songs λ°°μ΄
mapμ μ¬μ©ν λͺ¨λ λ Έλ μ΄λ¦ κ°μ Έ μ€κΈ°
λͺ¨λ λ Έλ μ΄λ¦μ μλ¬Έμλ‘ λ§€ννλ util ν¨μ μ¬μ©
Mapμ μ¬μ©νμ¬ μμ±μ μ κ±°νκ³ λ°°μ΄μ κ°μ²΄μ μ μμ±μ μΆκ°ν©λλ€.
Javascript map λΈλΌμ°μ νΈνμ±
νμλ νλ‘κ·Έλλ¨Έλ‘μμ μ 체 κ²½λ‘μμ κ°μ₯ μΌλ°μ μΈ μ°μ΅ μ€ νλ μΈ κΈ°μ‘΄ λ°°μ΄μμ μΌλΆ νλͺ©μ νν°λ§ν΄μΌνλ€κ³ νμ ν©λλ€. μ΄κ²μ λΉμ μμ μνκΈ°μ κ½€ μ±κ° μλ κ²μ΄μμ§λ§ μ΄μ λ λμ ν릴 νμκ° μμ΅λλ€. **νν° **κ° λμμ΄λ©λλ€!
**map **κ³Ό λ§€μ° μ μ¬ν©λλ€. **map **μ μκ³ μλ€λ©΄ **filter **λ₯Ό μ μ μμ΅λλ€!
**νν° **λ **map **κ³Ό κ°μ μΈμλ₯Όλ°μΌλ©° λ§€μ° μ μ¬νκ² μλν©λλ€. μ μΌν μ°¨μ΄μ μ μ½λ°±μ΄ **true ** λλ **false **λ₯Ό λ°νν΄μΌνλ€λ κ²μ λλ€. **true **λ₯Ό λ°ννλ©΄ λ°°μ΄μ ν΄λΉ μμλ₯Ό μ μ§νκ³ **false **λ₯Ό λ°ννλ©΄ μμκ° νν°λ§λ©λλ€.
μ΄μ κ³Ό κ°μ λ Έλ λ°°μ΄μ κ°μν λ
νν°λ₯Ό μ¬μ©νμ¬ μ§μλ₯Ό νν°λ§νκΈ°
νν°λ₯Ό μ¬μ©νμ¬ "at"κ°μλ λͺ¨λ λ¨μ΄ νν°λ§
νν°λ₯Ό μ¬μ©νμ¬ λ Έλ λ°°μ΄μμ λͺ¨λ λ§μ€ν λ λ Έλ κ°μ Έ μ€κΈ°
Javascript filter λΈλΌμ°μ νΈνμ±
λ§μ§λ§μΌλ‘, **reduce **λ λ°°μ΄μ μ·¨νμ¬ νλμ κ°μΌλ‘ μ€μ λλ€. μλ₯Ό λ€μ΄ μ«μ λ°°μ΄μ μ¬μ©νλ©΄ λͺ¨λ κ°μ νκ· μ μ½κ² μ°Ύμ μ μμ΅λλ€.
**map ** λ° **filter **μ λΉμ·νμ§λ§ μ½λ°± μΈμκ° λ€λ¦ λλ€. μ½λ°±μ μ΄μ **accumulator ** (λͺ¨λ λ°ν κ°μ λμ νλ©° κ·Έ κ°μ μ΄μ μ λ°ν λ λμ κ°μ λμ κ°μ λλ€), νμ¬ κ°, νμ¬ μΈλ±μ€ λ° λ§μ§λ§μΌλ‘ μ 체 λ°°μ΄μλ°μ΅λλ€.
Reduceλ₯Ό μ¬μ©νμ¬ λ°°μ΄μ ν©μ κ³μ° ν λ€μ νκ· μ μ°Ύμ΅λλ€.
μ΄μ κ³Ό κ°μ λ Έλ λ°°μ΄μ κ°μν λ
λ°°μ΄ ν©κ³ κ³μ°
reduceλ₯Ό μ¬μ©νμ¬ λ°°μ΄μμ κ°μ²΄ λ§λ€κΈ°
reduceλ₯Ό μ¬μ©νμ¬ λ°°μ΄ λ°°μ΄ λ³ν©
Javascript reduce λΈλΌμ°μ νΈνμ±
Triforce The
**μ§λ **, **νν° ** λ° **μΆμ **λ μ°κ²° κ°λ₯νλ©°, ν¨κ» μ¬μ©νλ©΄ 무μ νμ μ λΉν νμκ°μ§λλ€! π β¨
Spotify λ° LastFMμ λ Έλκ°μλ λ°°μ΄ λ°°μ΄μ΄μλ μ΄λ¬ν 볡μ‘ν λ Έλ λ°°μ΄μ μκ°ν΄λ³΄μμμ€. κ° λ Έλμ μ¬μ μκ°μ μ΄ λ¨μμ λλ€.
μ΄μ λ μΌνλ‘ κ΅¬λΆ λ λ¬Έμμ΄μ 3 λΆλ³΄λ€ κΈ΄ λͺ¨λ λ Έλμ ν¨κ» κ°μ ΈμμΌν©λλ€.] (https://gist.github.com/JoaoCnh/0dde17e75ff4549114dfc6d492f99d88?source=post_page-- ------------------)
- μΈλ±μ€λ₯Ό ν΅ν΄ μ‘μΈμ€νλ λμ νμ¬ κ°μΌλ‘ μ§μ μμ ν©λλ€ (μ : array [i]).
- μλ λ°°μ΄μ λμ°λ³μ΄λ₯Ό νΌνμμμ€. λ°λΌμ λΆμμ©μ μ΅μννμμμ€.
- **for ** 루νλ₯Ό κ΄λ¦¬ ν νμκ° μμ΅λλ€.
- λ μ΄μ λΉ λ°°μ΄μ λ§λ€κ³ κ·Έ μμ κ°μ λ£μ§ λ§μμμ€.
- **μ½λ°±μμ **λμ μ€λ ꡬ문μ κΈ°μ΅νμμμ€
- λΉμ μ ν¨μν νλ‘κ·Έλλ°μ κ°λ ₯ν νλΌκ³ λΆλ₯Ό μ μμ΅λλ€.