JS

[JavaScript] new Set()๊ณผ has() ์ค‘๋ณต์—†๋Š” ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ

hyonie 2025. 4. 2. 13:26

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ, ๋ฐฐ์—ด๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๋ถˆํŽธํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿด๋•Œ 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 ์•ˆ์— ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ