๋”ฐํŒŒ๐Ÿ•
Hwaiian Pizza IT Pub
๋”ฐํŒŒ๐Ÿ•
  • ALL (62)
    • Front-End (13)
      • HTML & CSS (2)
      • JavaScript (7)
      • React (2)
      • TypeScript (0)
      • Jquery (0)
      • Git (1)
      • Editor (0)
    • Algorithms (44)
      • Baekjoon (28)
      • Programmers (13)
      • Algorithms (3)
    • Computer Science (0)
      • Math (0)
    • Conference (1)
    • Life (3)
      • Book (0)
hELLO ยท Designed By ์ •์ƒ์šฐ.
๋”ฐํŒŒ๐Ÿ•

Hwaiian Pizza IT Pub

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• Map ๊ฐœ๋…์ •๋ฆฌ
Front-End/JavaScript

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• Map ๊ฐœ๋…์ •๋ฆฌ

2022. 6. 13. 19:34
๋ฐ˜์‘ํ˜•

 

 

๋ฐฑ์ค€ ๋ฌธ์ œ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๊ฐ€๋‹ค ๋ณด๋ฉด ์ง‘ํ•ฉ๊ณผ ๋งต์—์„œ set๊ณผ map์„ ์ด์šฉํ•ด์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ’€์–ด์•ผ ํ–ˆ๋‹ค.

๋ฐฐ์—ด๋กœ ํ’€์ˆ˜ ์žˆ์ง€๋งŒ ์‹œ๊ฐ„์ด ์ดˆ๊ณผ๋๋‹ค.

๋‹ค๋ฅธ ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค!!!

๋‹ค๋ฅธ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๊ณต๋ถ€ํ•ด๋ณด์ž...!!!!

 

์ €๋ฒˆ์—๋Š” set์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ดค์œผ๋‹ˆ map์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค.

 

 

map๊ณผ set์„ ์™œ ์“ธ๊นŒ ์•Œ์•„๋ณด๋‹ˆ

ํ˜„์‹ค์„ธ๊ณ„๋ฅผ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ์ฒด์™€ ๋ฐฐ์—ด๋งŒ์œผ๋กœ๋Š” ์—ญ๋ถ€์กฑ์ด์—ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ƒˆ๋กœ์šด ์ž๋ฃŒ๊ตฌ์กฐ์ธ Map๊ณผ Set์„ ์ด์šฉํ•˜๊ฒŒ ๋๋‹ค๊ณ  ํ•œ๋‹ค.

 

 

 

 

1. Map ๊ฐœ๋…


 

 

  • key์™€ ๊ฐ€ ์žˆ๋Š” data๋ฅผ ์ €์žฅ โžก๏ธ ๊ฐ์ฒด์™€ ์œ ์‚ฌ
  • key์— ๋‹ค์–‘ํ•œ ์ž๋ฃŒํ˜•(boolean, number, string, object)์„ ํ—ˆ์šฉ โžก๏ธ ๊ฐ์ฒด์™€ ๋‹ค๋ฅธ ์ 

 

 

 

 

 

2. ์ฃผ์š” ๋ฉ”์„œ๋“œ(Method)


 

 

2-1. ์ฃผ์š” ๋ฉ”์„œ๋“œ

 

  • new Map() : Map์„ ์ƒ์„ฑ
  • map.set(key, value) : key๋ฅผ ์ด์šฉํ•ด value๋ฅผ ์ €์žฅ
  • map.get(key) – key์— ํ•ด๋‹นํ•˜๋Š” value๋ฅผ ๋ฐ˜ํ™˜, key๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด undefined๋ฅผ ๋ฐ˜ํ™˜
  • map.has(key) – key๊ฐ€ ์กด์žฌํ•˜๋ฉด true, ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜
  • map.delete(key) – key์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ์‚ญ์ œ
  • map.clear() – ๋งต ์•ˆ์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ œ๊ฑฐ
  • map.size – ์š”์†Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

 

 

 

2-2. ์ฃผ์š” ๋ฉ”์„œ๋“œ ์˜ˆ์‹œ

let map = new Map(); // ๋งต ์ƒ์„ฑ

map.set(1, 'number'); // ๋งต์— key, value ์ €์žฅ - num type
map.set('1', 'string'); // string type
map.set(true, 'boolean'); // boolean type


console.log(map); // Map(3) { 1 => 'number', '1' => 'string', true => 'boolean' }
console.log(map.size); // 3 - ๋งต์•ˆ์— ์š”์†Œ์˜ ๊ฐœ์ˆ˜

TIP โ€ผ๏ธ ๋งต์€ ๊ฐ์ฒด์™€ ๋‹ค๋ฅด๊ฒŒ ํ‚ค๋ฅผ ๋ฌธ์žํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๋Š”๋‹ค, ํ‚ค์˜ ์ž๋ฃŒํ˜•์— ์ œ์•ฝ์ด ์—†๋‹ค.

 

 

 

Object๋ฅผ Key๋กœ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์‹œ

let bob = { name: 'bob' };

let consummers = new Map();

consummers.set(bob, 1); // object๋ฅผ key๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
console.log(consummers.get(bob)); // 1
console.log(consummers); // Map(1) { { name: 'bob' } => 1 }

Map์—์„œ๋Š” object๋ฅผ key๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ object๋Š” object๋ฅผ key๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

 

 

 

 

 

 

 

 

์•„์ง map์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ‘ธ๋Š”๋ฐ๋งŒ ํ™œ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

์‹ค์ œ์ ์œผ๋กœ ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ๋•Œ Map์€ ์–ด๋–ป๊ฒŒ ํ™œ์šฉ์ด ๋˜๋Š”์ง€

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํƒ€์ž…์„ ํ›ฝํ›ฝ ๋ฐ”๊พธ๋Š”๋ฐ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™œ์šฉํ•ด์•ผ

๋‚˜์ค‘์— ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ผ์— ๋Œ€๋น„ํ•  ์ˆ˜ ์žˆ์ง€ ์•Š๋Š”์ง€... ํ˜ผ์ž ์ƒ๊ฐ ์ค‘์ด๋‹ค.

์ด๋†ˆ๋“ค์„ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„์ง€ ์ฐจ์ฐจ ์ƒ๊ฐํ•ด๋ณด์ž!

 

 

 

 

 

map์„ ์ด์šฉํ•œ ๊ฐ„๋‹จ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด๋ฅผ ๋ณด๊ณ ์‹ถ๋‹ค๋ฉด ์•„๋ž˜ํฌ์ŠคํŒ…์„ ํด๋ฆญ

[Algorithms/Baekjoon] - [JS] ๋ฐฑ์ค€ 10816๋ฒˆ : ์ˆซ์ž ์นด๋“œ 2

 

[JS] ๋ฐฑ์ค€ 10816๋ฒˆ : ์ˆซ์ž ์นด๋“œ 2

Question ๋ฐฑ์ค€ 10816๋ฒˆ : ์ˆซ์ž ์นด๋“œ2 ์ˆซ์ž ์นด๋“œ๋Š” ์ •์ˆ˜ ํ•˜๋‚˜๊ฐ€ ์ ํ˜€์ ธ ์žˆ๋Š” ์นด๋“œ์ด๋‹ค. ์ƒ๊ทผ์ด๋Š” ์ˆซ์ž ์นด๋“œ N๊ฐœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ •์ˆ˜ M๊ฐœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ์ˆ˜๊ฐ€ ์ ํ˜€์žˆ๋Š” ์ˆซ์ž ์นด๋“œ๋ฅผ ์ƒ๊ทผ์ด๊ฐ€ ๋ช‡ ๊ฐœ

hawaiian-pizza-it.tistory.com

 

Set์— ๊ด€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ •๋ณด๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜ ํฌ์ŠคํŒ…์„ ํด๋ฆญ

[Front-End/JavaScript] - [์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• Set ๊ฐœ๋…์ •๋ฆฌ

 

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• Set ๊ฐœ๋…์ •๋ฆฌ

์ด ํฌ์ŠคํŒ…์€ ์ด ๋ฌธ์ œ๋กœ๋ถ€ํ„ฐ ์‹œ์ž‘๋˜์—ˆ๋‹ค. [JS] ๋ฐฑ์ค€ 10815๋ฒˆ : ์ˆซ์ž ์นด๋“œ Question ๋ฐฑ์ค€ 10815๋ฒˆ : ์ˆซ์ž ์นด๋“œ ์ˆซ์ž ์นด๋“œ๋Š” ์ •์ˆ˜ ํ•˜๋‚˜๊ฐ€ ์ ํ˜€์ ธ ์žˆ๋Š” ์นด๋“œ์ด๋‹ค. ์ƒ๊ทผ์ด๋Š” ์ˆซ์ž ์นด๋“œ N๊ฐœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ •

hawaiian-pizza-it.tistory.com

 

 

 

 

 

Reference (์ฐธ์กฐ)

 

 

https://ko.javascript.info/map-set

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

 

 

 

 

 

 

 
๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Front-End > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ณ€์ˆ˜ ์„ ์–ธ var/let/const (var๋ฅผ ์‚ฌ์šฉํ•ด์„  ์•ˆ๋˜๋Š”์ด์œ )  (1) 2022.09.21
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• Set ๊ฐœ๋…์ •๋ฆฌ  (0) 2022.06.07
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ๋ฐฐ์—ด(Array)์˜ ๊ฐœ๋…๊ณผ ์˜ˆ์‹œ (feat.๋“œ๋ฆผ์ฝ”๋”ฉ)  (0) 2022.05.31
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•œ ๋ฐฐ์—ด Array ๋ฉ”์†Œ๋“œ ์ •๋ฆฌ (feat.๋“œ๋ฆผ์ฝ”๋”ฉ)  (0) 2022.05.26
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•œ Math ๋ฉ”์†Œ๋“œ ์ •๋ฆฌ, ๋กœ๋˜๋ฒˆํ˜ธ ์ถ”์ถœ๊ธฐ  (0) 2022.05.23
    'Front-End/JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ณ€์ˆ˜ ์„ ์–ธ var/let/const (var๋ฅผ ์‚ฌ์šฉํ•ด์„  ์•ˆ๋˜๋Š”์ด์œ )
    • [์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• Set ๊ฐœ๋…์ •๋ฆฌ
    • [์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ๋ฐฐ์—ด(Array)์˜ ๊ฐœ๋…๊ณผ ์˜ˆ์‹œ (feat.๋“œ๋ฆผ์ฝ”๋”ฉ)
    • [์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•œ ๋ฐฐ์—ด Array ๋ฉ”์†Œ๋“œ ์ •๋ฆฌ (feat.๋“œ๋ฆผ์ฝ”๋”ฉ)
    ๋”ฐํŒŒ๐Ÿ•
    ๋”ฐํŒŒ๐Ÿ•
    ์ €์ชฝ ์†๋‹˜์ด ๋ณด๋‚ด์‹  ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?๐Ÿน

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”