Notice
Recent Posts
Recent Comments
Link
ยซ   2025/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

eazyseon

Set ์ƒ์„ฑ์ž ๋ณธ๋ฌธ

๐Ÿ“’JavaScript

Set ์ƒ์„ฑ์ž

eazyseon 2023. 2. 20. 12:17
๋ฐ˜์‘ํ˜•

Set 

Set ๊ฐ์ฒด๋Š” ์ž๋ฃŒํ˜•์— ๊ด€๊ณ„์—†์ด ์›์‹œ ๊ฐ’๊ณผ ๊ฐ์ฒด ์ฐธ์กฐ ๋ชจ๋‘ ์œ ์ผํ•œ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค(MDN).

์ฆ‰, ์ค‘๋ณต๋œ ๊ฐ’์„ ์ œ๊ฑฐํ•ด ์ค€๋‹ค. 

 

 

์‚ฌ์šฉ ๋ฌธ๋ฒ•

new Set();

 

์‚ฌ์šฉ ์˜ˆ์‹œ

Set ์˜ˆ์‹œ

์œ„ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ์ฃผ์–ด์ง„ ๊ฐ’์„ ๋ฐ›์•„ ๊ฐ์ฒด๋กœ ์ƒ์„ฑํ•ด ์ค€๋‹ค. 

 

Set ์ค‘๋ณต ์ œ๊ฑฐ ์˜ˆ์‹œ1

 

Set ์ค‘๋ณต ์ œ๊ฑฐ ์˜ˆ์‹œ2

 

์ด๋•Œ, ์ค‘๋ณต๋œ ๊ฐ’์ด ์žˆ๋‹ค๋ฉด? ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด ์ค€๋‹ค. ๐Ÿ‘๐Ÿ‘

 

 

๋ฉ”์†Œ๋“œ

 

1. ์ถ”๊ฐ€: set ๊ฐ์ฒด์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” Set.prototype.add ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉ

let eazySet = new Set();

eazySet.add(1) //Set(1) {1}
eazySet.add(2) //Set(2) {1,2}

 

2. ์‚ญ์ œ : set ๊ฐ์ฒด์˜ ํŠน์ • ์š”์†Œ๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด Set.prototype.delete ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉ / ์‚ญ์ œํ•˜๋ ค๋Š” ์š”์†Œ๊ฐ’์„ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ / ๋ถˆ๋ฆฌ์–ธ๊ฐ’ ๋ฐ˜ํ™˜

let eazySet = new Set([1,2,3]);

eazySet.delete(1) //true
eazySet.delete(4) //false

 

3. ์ „์ฒด์‚ญ์ œ: set ๊ฐ์ฒด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ผ๊ด„์‚ญ์ œํ•˜๋ ค๋ฉด Set.prototype.clear๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉ

let eazySet = new Set([1,2,3]);

eazySet.clear() 
console.log(eazySet) // Ser(0){}

 

4. ์กด์žฌ์—ฌ๋ถ€ ํ™•์ธ : Set ๊ฐ์ฒด์— ํŠน์ • ์š”์†Œ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด Set.prototype.has ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉ / ๋ถˆ๋ฆฌ์–ธ๊ฐ’ ๋ฐ˜ํ™˜

let eazySet = new Set([1,2,3]);

eazySet.has(1) //true
eazySet.has(4) //false

 

๋ฐฐ์—ด๊ณผ์˜ ๊ด€๊ณ„ 

Set์„ Array๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์ „๊ฐœ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉ

let eazySet = new Set([1,2,3]);

//๋ฐฐ์—ด์„ Set์œผ๋กœ
console.log(eazySet) //Set(3){1,2,3}

//Set์„ ๋ฐฐ์—ด๋กœ
console.log([...eazySet]) //[1,2,3]
๋ฐ˜์‘ํ˜•
Comments