Set
1. κ°μ
ES6μ Setλ Mapμ λΉμ·νμ§λ§ Setλ Mapμλ λ€λ₯΄κ² keyκ°λ§μ΄ μ‘΄μ¬νλ€. μμΌλ‘ μ μ©νκ² μ¬μ©ν μ μλ Setμ λν΄ μ΄ν΄λ³΄μ.
2. Set κ°μ²΄μ νΉμ§
Set κ°μ²΄λ μλ£νμ κ΄κ³ μμ΄ μμ κ°κ³Ό κ°μ²΄ μ°Έμ‘° λͺ¨λ μ μΌν κ°μ μ μ₯ν μ μλ μλ°μ€ν¬λ¦½νΈ νμ€ λ΄μ₯ κ°μ²΄μ΄λ€. μ½μ
μμλλ‘ μμλ₯Ό μν(for...in, for...ofλ³΄λ€ forλ¬Έμ μ νΈ)ν μ μμΌλ©° νλμ Setλ΄ κ°μ ν λ²λ§ λνλΌ μ μλ€. μ¦, μ΄λ€ κ°μ κ·Έ Set μ½λ μ
λ΄μμ μ μΌνλ€.
Setμ νΉμ§μ μ 리νμλ©΄ μλμ κ°λ€.
λμΌν κ°μ μ€λ³΅νμ¬ ν¬ν¨ν μ μλ€.
μμ μμμ μλ―Έκ° μλ€.
μΈλ±μ€λ‘ μμμ μ κ·Όν μ μλ€.
μ΄λ¬ν Setμ μνμ μ§ν©μ ꡬννκΈ° μν μλ£κ΅¬μ‘°μ΄λ€. κ·Έλμ Setλ₯Ό ν΅ν΄ κ΅μ§ν©, ν©μ§ν©, μ°¨μ§ν©, μ¬μ§ν© λ±μ ꡬνν μ μλ€.
3. Set κ°μ²΄μ μμ±
const set = new Set();
κΈ°λ³Έ μμ± λ°©λ²μ μμ κ°λ€. Set κ°μ²΄λ set μμ±μ ν¨μλ‘ μμ±νλ©° μΈμλ₯Ό μ λ¬νμ§ μμΌλ©΄ λΉ Set κ°μ²΄κ° μμ±λλ€.
μΈμλ‘λ μ΄ν°λ¬λΈλ₯Ό λ°μ μ μλ€.
λ°°μ΄μ μΈμλ‘ λ°μ κ²½μ°

λ¬Έμμ΄μ μΈμλ‘ λ°μ κ²½μ°

μμ±λ Set κ°μ²΄λ₯Ό 보면 μ€λ³΅λ κ°μ΄ μλ κ²μ λ³Ό μ μλ€. μ΄λ κ² Set κ°μ²΄λ₯Ό μ¬μ©νμ¬ λ°°μ΄ λ° λ¬Έμμ΄ λ±μμ μ€λ³΅λ μμλ₯Ό μ κ±°ν μ μλ€. μ΄λ₯Ό μ΄μ©νμ¬ μ€λ³΅λ μμλ₯Ό μ κ±°ν λ°°μ΄μ λ§λ€ μ μλ€.

4. Setμ μ£Όμ λ©μλμ νλ‘νΌν°
4-1. Set.add(value)
κ°μ μΆκ°νκ³ Set μμ μ λ°ννλ€. λ§μ½ λμΌν κ°μ λ£κ³ set.add(value)λ₯Ό μ무리 λ§μ΄ νΈμΆνλ€ν΄λ Set κ°μ²΄μλ μΆκ°κ° λμ§ μλλ€. Set.add()λ©μλλ μκΈ° μμ μ λ°ννκΈ° λλ¬Έμ 체μ΄λμ ν μ μλ€.

Setκ°μ²΄λ κ°μ²΄λ λ°°μ΄, μμκ° κ°μ΄ μλ°μ€ν¬λ¦½νΈμ λͺ¨λ κ°μ μμλ‘ μ μ₯ν μ μλ€.

μ€λ³΅λ μμκ° μλ κ²μ νμΈν μ μλ€.
4-2. Set.delete(value)
κ°μ μ κ±°νλ€. νΈμΆ μμ μ Set λ΄μ κ°μ΄ μμ΄μ μ κ±°μ μ±κ³΅νλ©΄ true, μλλ©΄ falseλ₯Ό λ°ννλ€. μ΄λ Set κ°μ²΄μλ μΈλ±μ€κ° μκΈ° λλ¬Έμ μμ νλ €λ μμκ°μ μΈμλ‘ μ λ¬ν΄μΌνλ€. κ·Έλ¦¬κ³ Set.delete()λ©μλλ λΆλ¦¬μΈκ°μ 리ν΄νκΈ° λλ¬Έμ 체μ΄λμ ν μ μλ€.

4-3. Set.has(value)
Set κ°μ²΄ λ΄μ κ°μ΄ μ‘΄μ¬νλ©΄ true, μλλ©΄ falseλ₯Ό λ°ννλ€.

4-4. Set.clear()
Set κ°μ²΄μ λͺ¨λ μμλ₯Ό μΌκ΄μμ νλ€. νμ undefinedλ₯Ό λ°ννλ€.

4-5. Set.size
Set κ°μ²΄μ λͺ κ°μ μμκ° μλμ§ νμΈνλ€. Set.size νλ‘νΌν°μ μ«μλ₯Ό ν λΉνμ¬ Set κ°μ²΄μ ν¬κΈ°λ₯Ό μ ν μ μλ€. ν΄λΉ νλ‘νΌν°λ setterν¨μλ μκ³ getterν¨μλ§ μ‘΄μ¬νκΈ° λλ¬Έμ΄λ€.

5. Set κ°μ²΄ μμμ μν
Set κ°μ²΄ μμλ₯Ό μννκΈ° μν΄μλ Set.forEachλ©μλλ₯Ό μ¬μ©νλ€. λν forλ¬Έ, for...orλ¬ΈμΌλ‘ μνν μλ μλ€. μΆκ°μ μΌλ‘ Set κ°μ²΄λ μ΄ν°λ¬λΈμ΄κΈ° λλ¬Έμ μ€νλ λλ¬Έλ²κ³Ό, λ°°μ΄ λμ€νΈλμ²λ§μ λμμ΄ λ μ μλ€.
Set.forEachμ 첫 λ²μ§Έμ λ λ²μ§Έ μΈμλ νμ¬ μνμ€μΈ μμκ°μ΄λ€. μ΄λ° μ΄μ λ Set κ°μ²΄μλ μΈλ±μ€κ° μκΈ° λλ¬Έμ Array.forEachλ©μλμ μΈν°νμ΄μ€λ₯Ό ν΅μΌνκΈ° μν¨λλ€. μΈ λ²μ§Έ μΈμλ‘λ νμ¬ μνμ€μΈ Set κ°μ²΄ μ체μ΄λ€.

6. Set κ°μ²΄λ₯Ό ν΅ν μ§ν© μ°μ°
Set κ°μ²΄λ₯Ό ν΅ν΄ κ΅μ§ν©, μ°¨μ§ν©, ν©μ§ν©, λΆλΆ μ§ν©κ³Ό μμ μ§ν©μ ꡬνν μ μλ€.
6-1. κ΅μ§ν©

6-2. μ°¨μ§ν©

6-3. ν©μ§ν©

6-4. λΆλΆ μ§ν©κ³Ό μμ μ§ν©

isSuperSet()ν¨μλ 첫 λ²μ§Έ νλΌλ―Έν°κ° λ λ²μ§Έ νλΌλ―Έν°μ μμμ§ν©μΈμ§ μλ €μ£Όλ ν¨μμ΄λ€. ν΄λΉ κ°μ΄ trueλΌλ©΄ 첫 λ²μ§Έ νλΌλ―Έν°λ μμμ§ν© λ λ²μ§Έ νλΌλ―Έν°λ λΆλΆ μ§ν©μ΄ λλ€.
7. Conclusion
μ€νκ΅, κ³ λ±νκ΅ λ λ°°μ λ ν©μ§ν©, κ΅μ§ν© λ±λ±μ λ€μ λ€λ£¨κ² λλ μ μ νλ€. λν μ΄λ₯Ό μ½λλ‘ κ΅¬νν μ μλ€λ κ²μ΄ λλΌμ λ€. μ§κΈκΉμ§ λ€μν μ§ν©μ λ€λ£° κΈ°νκ° μμμ§λ§ μ½λ© ν μ΄νΈλ₯Ό 곡λΆνλ€λ³΄λ©΄ λ§μ΄ μ¬μ©νκ² λ λ― νλ€. λ§΅(Map)κ³Ό μ (Set) μλ μλ κ·Έμ μ΄λ €μ΄ κ°λ μ΄μλλ° μ§κΈμ μ΄λμ λ μ΅μν΄μ§ λ― νλ€.
μ°Έκ³
λ§΅κ³Ό μ JavaScript - Set [JavaScript] 37. Set κ³Ό Map Set-mdn Map κ³Ό Set
π 2022-08-12
Last updated