[TIL] 22.10.03 ๐Ÿ’Œ

yesยท2022๋…„ 10์›” 3์ผ
0

TIL ๐Ÿ’Œ

๋ชฉ๋ก ๋ณด๊ธฐ
30/55
post-thumbnail
post-custom-banner
  • ๋“œ๋ž๋‹ค์šด ๊ด€๋ จ ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ (์™ธ๋ถ€ ์˜์—ญ ์ด๋ฒคํŠธ ๊ฐ์ง€)
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋”ฅ ๋‹ค์ด๋ธŒ (Set, Map) ํ•™์Šต
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv2 (๋ฉ€๋ฆฌ๋›ฐ๊ธฐ, ์ˆซ์ž์˜ ํ‘œํ˜„, ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜)
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ

Set, Map

๋ชจ๋“  ๊ธฐ์ˆ ์€ ์–ด๋– ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํƒ„์ƒํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

Set๊ณผ Map๋„ ์ด์™€ ๊ฐ™์€ ๋งฅ๋ฝ์œผ๋กœ ํ˜„์‹ค ์„ธ๊ณ„๋ฅผ ๋ฐ˜์˜ํ•˜๊ธฐ์—” ๊ฐ์ฒด์™€ ๋ฐฐ์—ด ๋‘ ์ž๋ฃŒ๊ตฌ์กฐ ๋งŒ์œผ๋ก  ๋ถ€์กฑํ•ด์„œ ๋งต๊ณผ ์…‹์ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋๋‹ค.

Set

Set ๊ฐ์ฒด๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ์œ ์ผํ•œ ๊ฐ’๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค. Set ๊ฐ์ฒด๋Š” ๋ฐฐ์—ด๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

๊ตฌ๋ถ„๋ฐฐ์—ดSet ๊ฐ์ฒด
๋™์ผํ•œ ๊ฐ’์„ ์ค‘๋ณตํ•˜์—ฌ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค.OX
์š”์†Œ ์ˆœ์„œ์— ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค.OX
์ธ๋ฑ์Šค๋กœ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.OX

์ด๋Ÿฌํ•œ Set ๊ฐ์ฒด์˜ ํŠน์„ฑ์€ ์ˆ˜ํ•™์  ์ง‘ํ•ฉ์˜ ํŠน์„ฑ๊ณผ ์ผ์น˜ํ•œ๋‹ค. Set์€ ์ˆ˜ํ•™์  ์ง‘ํ•ฉ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค. ๋”ฐ๋ผ์„œ Set์„ ํ†ตํ•ด ๊ต์ง‘ํ•ฉ, ํ•ฉ์ง‘ํ•ฉ, ์ฐจ์ง‘ํ•ฉ, ์—ฌ์ง‘ํ•ฉ ๋“ฑ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

const set1 = new Set([1, 2, 3, 3]);
console.log(set1); // Set(3) {1, 2, 3}

const set2 = new Set('hello');
console.log(set2); // Set(4) {"h", e", "l", "o"}

Map

Map ๊ฐ์ฒด๋Š” ํ‚ค์™€ ๊ฐ’์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ปฌ๋ ‰์…˜์ด๋‹ค. Map ๊ฐ์ฒด๋Š” ๊ฐ์ฒด์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

๊ตฌ๋ถ„๊ฐ์ฒดMap ๊ฐ์ฒด
ํ‚ค๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’๋ฌธ์ž์—ด ๋˜๋Š” ์‹ฌ๋ฒŒ ๊ฐ’๊ฐ์ฒด๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ๊ฐ’
์ดํ„ฐ๋Ÿฌ๋ธ”XO
์š”์†Œ ๊ฐœ์ˆ˜ ํ™•์ธObject.keys(obj).lengthmap.size
const map1 = new Map([['key1', 'value1'], ['key2', 'value2']]);
console.log(map1); // Map(2) {"key1" => "value1", "key2" => "value2"}

post-custom-banner

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2022๋…„ 10์›” 4์ผ
๋‹ต๊ธ€ ๋‹ฌ๊ธฐ