Set
Last updated
Last updated
ES6์ Set
๋ Map
์ ๋น์ทํ์ง๋ง Set
๋ Map
์๋ ๋ค๋ฅด๊ฒ key
๊ฐ๋ง์ด ์กด์ฌํ๋ค. ์์ผ๋ก ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ Set
์ ๋ํด ์ดํด๋ณด์.
Set
๊ฐ์ฒด๋ ์๋ฃํ์ ๊ด๊ณ ์์ด ์์ ๊ฐ๊ณผ ๊ฐ์ฒด ์ฐธ์กฐ ๋ชจ๋ ์ ์ผํ ๊ฐ์ ์ ์ฅํ ์ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ค ๋ด์ฅ ๊ฐ์ฒด์ด๋ค. ์ฝ์
์์๋๋ก ์์๋ฅผ ์ํ(for...in
, for...of
๋ณด๋ค for
๋ฌธ์ ์ ํธ)ํ ์ ์์ผ๋ฉฐ ํ๋์ Set
๋ด ๊ฐ์ ํ ๋ฒ๋ง ๋ํ๋ผ ์ ์๋ค. ์ฆ, ์ด๋ค ๊ฐ์ ๊ทธ Set
์ฝ๋ ์
๋ด์์ ์ ์ผํ๋ค.
Set
์ ํน์ง์ ์ ๋ฆฌํ์๋ฉด ์๋์ ๊ฐ๋ค.
๋์ผํ ๊ฐ์ ์ค๋ณตํ์ฌ ํฌํจํ ์ ์๋ค.
์์ ์์์ ์๋ฏธ๊ฐ ์๋ค.
์ธ๋ฑ์ค๋ก ์์์ ์ ๊ทผํ ์ ์๋ค.
์ด๋ฌํ Set
์ ์ํ์ ์งํฉ์ ๊ตฌํํ๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๊ทธ๋์ Set
๋ฅผ ํตํด ๊ต์งํฉ, ํฉ์งํฉ, ์ฐจ์งํฉ, ์ฌ์งํฉ ๋ฑ์ ๊ตฌํํ ์ ์๋ค.
๊ธฐ๋ณธ ์์ฑ ๋ฐฉ๋ฒ์ ์์ ๊ฐ๋ค. Set
๊ฐ์ฒด๋ set ์์ฑ์ ํจ์
๋ก ์์ฑํ๋ฉฐ ์ธ์๋ฅผ ์ ๋ฌํ์ง ์์ผ๋ฉด ๋น Set
๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค.
์ธ์๋ก๋ ์ดํฐ๋ฌ๋ธ๋ฅผ ๋ฐ์ ์ ์๋ค.
๋ฐฐ์ด์ ์ธ์๋ก ๋ฐ์ ๊ฒฝ์ฐ
๋ฌธ์์ด์ ์ธ์๋ก ๋ฐ์ ๊ฒฝ์ฐ
์์ฑ๋ Set
๊ฐ์ฒด๋ฅผ ๋ณด๋ฉด ์ค๋ณต๋ ๊ฐ์ด ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ด๋ ๊ฒ Set
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด ๋ฐ ๋ฌธ์์ด ๋ฑ์์ ์ค๋ณต๋ ์์๋ฅผ ์ ๊ฑฐํ ์ ์๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ์ค๋ณต๋ ์์๋ฅผ ์ ๊ฑฐํ ๋ฐฐ์ด์ ๋ง๋ค ์ ์๋ค.
๊ฐ์ ์ถ๊ฐํ๊ณ Set
์์ ์ ๋ฐํํ๋ค. ๋ง์ฝ ๋์ผํ ๊ฐ์ ๋ฃ๊ณ set.add(value)
๋ฅผ ์๋ฌด๋ฆฌ ๋ง์ด ํธ์ถํ๋คํด๋ Set
๊ฐ์ฒด์๋ ์ถ๊ฐ๊ฐ ๋์ง ์๋๋ค. Set.add()
๋ฉ์๋๋ ์๊ธฐ ์์ ์ ๋ฐํํ๊ธฐ ๋๋ฌธ์ ์ฒด์ด๋์ ํ ์ ์๋ค.
Set
๊ฐ์ฒด๋ ๊ฐ์ฒด๋ ๋ฐฐ์ด, ์์๊ฐ ๊ฐ์ด ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ชจ๋ ๊ฐ์ ์์๋ก ์ ์ฅํ ์ ์๋ค.
์ค๋ณต๋ ์์๊ฐ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๊ฐ์ ์ ๊ฑฐํ๋ค. ํธ์ถ ์์ ์ Set
๋ด์ ๊ฐ์ด ์์ด์ ์ ๊ฑฐ์ ์ฑ๊ณตํ๋ฉด true
, ์๋๋ฉด false
๋ฅผ ๋ฐํํ๋ค. ์ด๋ Set
๊ฐ์ฒด์๋ ์ธ๋ฑ์ค๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ญ์ ํ๋ ค๋ ์์๊ฐ์ ์ธ์๋ก ์ ๋ฌํด์ผํ๋ค. ๊ทธ๋ฆฌ๊ณ Set.delete()
๋ฉ์๋๋ ๋ถ๋ฆฌ์ธ๊ฐ์ ๋ฆฌํดํ๊ธฐ ๋๋ฌธ์ ์ฒด์ด๋์ ํ ์ ์๋ค.
Set
๊ฐ์ฒด ๋ด์ ๊ฐ์ด ์กด์ฌํ๋ฉด true
, ์๋๋ฉด false
๋ฅผ ๋ฐํํ๋ค.
Set
๊ฐ์ฒด์ ๋ชจ๋ ์์๋ฅผ ์ผ๊ด์ญ์ ํ๋ค. ํญ์ undefined
๋ฅผ ๋ฐํํ๋ค.
Set
๊ฐ์ฒด์ ๋ช ๊ฐ์ ์์๊ฐ ์๋์ง ํ์ธํ๋ค. Set.size
ํ๋กํผํฐ์ ์ซ์๋ฅผ ํ ๋นํ์ฌ Set
๊ฐ์ฒด์ ํฌ๊ธฐ๋ฅผ ์ ํ ์ ์๋ค. ํด๋น ํ๋กํผํฐ๋ setter
ํจ์๋ ์๊ณ getter
ํจ์๋ง ์กด์ฌํ๊ธฐ ๋๋ฌธ์ด๋ค.
Set
๊ฐ์ฒด ์์๋ฅผ ์ํํ๊ธฐ ์ํด์๋ Set.forEach
๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค. ๋ํ for
๋ฌธ, for...or
๋ฌธ์ผ๋ก ์ํํ ์๋ ์๋ค. ์ถ๊ฐ์ ์ผ๋ก Set
๊ฐ์ฒด๋ ์ดํฐ๋ฌ๋ธ์ด๊ธฐ ๋๋ฌธ์ ์คํ๋ ๋๋ฌธ๋ฒ๊ณผ, ๋ฐฐ์ด ๋์คํธ๋ญ์ฒ๋ง์ ๋์์ด ๋ ์ ์๋ค.
Set.forEach
์ ์ฒซ ๋ฒ์งธ์ ๋ ๋ฒ์งธ ์ธ์๋ ํ์ฌ ์ํ์ค์ธ ์์๊ฐ์ด๋ค. ์ด๋ฐ ์ด์ ๋ Set
๊ฐ์ฒด์๋ ์ธ๋ฑ์ค๊ฐ ์๊ธฐ ๋๋ฌธ์ Array.forEach
๋ฉ์๋์ ์ธํฐํ์ด์ค๋ฅผ ํต์ผํ๊ธฐ ์ํจ๋๋ค. ์ธ ๋ฒ์งธ ์ธ์๋ก๋ ํ์ฌ ์ํ์ค์ธ Set
๊ฐ์ฒด ์์ฒด์ด๋ค.
Set
๊ฐ์ฒด๋ฅผ ํตํด ๊ต์งํฉ, ์ฐจ์งํฉ, ํฉ์งํฉ, ๋ถ๋ถ ์งํฉ๊ณผ ์์ ์งํฉ์ ๊ตฌํํ ์ ์๋ค.
isSuperSet()
ํจ์๋ ์ฒซ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๊ฐ ๋ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ์ ์์์งํฉ์ธ์ง ์๋ ค์ฃผ๋ ํจ์์ด๋ค. ํด๋น ๊ฐ์ด true
๋ผ๋ฉด ์ฒซ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ ์์์งํฉ ๋ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ ๋ถ๋ถ ์งํฉ์ด ๋๋ค.
์คํ๊ต, ๊ณ ๋ฑํ๊ต ๋ ๋ฐฐ์ ๋ ํฉ์งํฉ, ๊ต์งํฉ ๋ฑ๋ฑ์ ๋ค์ ๋ค๋ฃจ๊ฒ ๋๋ ์ ์ ํ๋ค. ๋ํ ์ด๋ฅผ ์ฝ๋๋ก ๊ตฌํํ ์ ์๋ค๋ ๊ฒ์ด ๋๋ผ์ ๋ค. ์ง๊ธ๊น์ง ๋ค์ํ ์งํฉ์ ๋ค๋ฃฐ ๊ธฐํ๊ฐ ์์์ง๋ง ์ฝ๋ฉ ํ ์ดํธ๋ฅผ ๊ณต๋ถํ๋ค๋ณด๋ฉด ๋ง์ด ์ฌ์ฉํ๊ฒ ๋ ๋ฏ ํ๋ค. ๋งต(Map)๊ณผ ์ (Set) ์๋ ์๋ ๊ทธ์ ์ด๋ ค์ด ๊ฐ๋ ์ด์๋๋ฐ ์ง๊ธ์ ์ด๋์ ๋ ์ต์ํด์ง ๋ฏ ํ๋ค.
๋งต๊ณผ ์ JavaScript - Set [JavaScript] 37. Set ๊ณผ Map Set-mdn Map ๊ณผ Set
๐ 2022-08-12