์๋ฐ์คํฌ๋ฆฝํธ์์ ์ค๋ณต๋์ง ์๋ ๊ฐ์ ์ ์ฅํ๊ณ ์ถ์ ๋, ๋ฐฐ์ด๋ง ์ฌ์ฉํ๋ฉด ๋ถํธํ ๋๊ฐ ์์ต๋๋ค.
์ด๋ด๋ Set ๊ฐ์ฒด๋ฅผ ํ์ฉํ๋ฉด ๊ฐ๋จํ๊ณ ํจ์จ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์ด๋ฒ ๊ธ์์๋ Set์ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ๊ณผ has()๋ฉ์๋์ ๋ํด ์ฝ๊ฒ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค.
๐งฉ new Set() ์ด๋?
Set์ ์ค๋ณต์ ํ์ฉํ์ง ์๋ ๊ฐ๋ค์ ์งํฉ์ ๋ง๋ค์ด์ฃผ๋ ๊ฐ์ฒด์ ๋๋ค.
const mySet = new Set([1,2,3,3,4]);
console.log(mySet); //Set(4) {1,2,3,4}
์ ์์์ฒ๋ผ, ์ค๋ณต๋ ๊ฐ 3์ ํ๋๋ง ์ ์ฅ๋ฉ๋๋ค.
๐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ
const setName = new Set(iterable); // ๋ฐ๋ณตํ ์ ์๋ ๊ฐ(string, Array, Set, Map)
์์:
const usimArry = new Set(["4G", "5G"]);
๐ has() ๋ฉ์๋
Set.has(๊ฐ) ํํ๋ก ์ฌ์ฉํ๋ฉฐ, ํน์ ๊ฐ์ด Set ์์ ์กด์ฌํ๋์ง ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค.
usimArray.has("4G"); //true
usimArray.has("3G"); //false
๐ก ์ค์ ์์
const usimArray = new Set(["4G", "5G"]);
const searchParams = {usimType: "5G"}; // ReactURL Params๊ฐ์ ์์
const usimTypeResult = usimArray.has(searchParams?.usimTiype);
console.log(usimTypeResult); //true
์ ์ฝ๋๋ searchParams์ ๋ด๊ธด ์ ์ฌ ํ์ ์ด "4G", ๋๋ "5G"์ค ํ๋์ธ์ง ํ์ธํ๋ ์์ ์ ๋๋ค.
๐ ์ ๋ฆฌ
Set์ ์ค๋ณต ์์ด ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์๊ณ , .has()๋ก ๋น ๋ฅด๊ฒ ํฌํจ ์ฌ๋ถ๋ฅผ ์ฒดํฌํ ์ ์์ต๋๋ค. ํ์ฉ ์ ๋ฐฐ์ด๋ณด๋ค ํจ ๊ฐ๊ฒฐํ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
- new Set(): ์ค๋ณต๋์ง ์๋ ๊ฐ์ ์ ์ฅํ๋ ๊ฐ์ฒด ์์ฑ
- .hsa(): ํน์ ๊ฐ์ด Set ์์ ์กด์ฌํ๋์ง ํ์ธ