Index
Index1. Map1.1 Map ์ด๋? 1.2 Map ์ ์ฌ๋ฌ๊ฐ์ง ํ์ฉ๋ฒ1.3 Map ๊ณผ Object์ ์ฐจ์ด2. Set2.1 Set ์ด๋?
ย
1. Map
1.1 Map ์ด๋?
ย
Map ๊ฐ์ฒด๋ ํค-๊ฐ ์์ ๊ฐ์ง๋ ๊ฐ์ฒด ์๋ฃํ์ ํ ์ข
๋ฅ์
๋๋ค.
let m = new Map(); // Map์ ๊ฐ์ ๋ฃ๊ธฐ m.set('ํ๋', '1'); m.set(1, 'ํ๋'); m.set(true, 1); m.set(false, 0); // Map์ ๊ฐ์ ์ ๊ทผํ๊ธฐ console.log(m.get('ํ๋')); console.log(m.get(true)); // Map์ ๊ฐ์ด ์๋์ง ํ์ธํ๊ธฐ console.log(m.has('ํ๋')); // Map์ ๊ฐ์ ์ ๊ฑฐํ๊ธฐ console.log(m.delete('ํ๋')); console.log(m.has('ํ๋')); console.log(m); // Map์ ํฌ๊ธฐ๋ฅผ ํ์ธํ๊ธฐ console.log(m.size); // let mm = new Map() // mm.set('ํ๋', m) // Map(1)ย {'ํ๋' => Map(3)} // mm.set('ํ๋', {'one':1, 'two':2}) // Map(1)ย {'ํ๋' => {โฆ}}
ย
1.2 Map ์ ์ฌ๋ฌ๊ฐ์ง ํ์ฉ๋ฒ
ย
// Map์ ์ํ for (var variable of m) { console.log(`m์ ์ํํ๊ณ ์์ต๋๋ค. ${variable[0]}`) console.log(`m์ ์ํํ๊ณ ์์ต๋๋ค. ${variable[1]}`) } // Map์ ๊ฐ์ ์ ๊ทผ console.log(m.keys()); console.log(m.values()); console.log(m.entries()); // ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง๋ ์๋ฃํ์ ๋งตํํ๊ธฐ let temp = new Map([[1, 10], [2, 20], [3, 30], [4, 40]]); console.log(temp);
ย
1.3 Map ๊ณผ Object์ ์ฐจ์ด
ย
Map ๊ฐ์ฒด์ Object ๋ ๋ ๋ค key - value ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ค๋ ์ ์์ ๋น์ทํด๋ณด์ด์ง๋ง ๋ช ๊ฐ์ง ์ค์ํ ์ฐจ์ด์ ์ด ์์ต๋๋ค
- Object์ ํค๋ ๋ฌธ์์ด ํ์ ์ผ๋ก๋ง ์ง์ ํด์ผํ์ง๋ง, Map์ ํค๋ ๋ชจ๋ ๊ฐ์ ๊ฐ์ง ์ ์์ต๋๋ค.
- Object๋ ํฌ๊ธฐ๋ฅผ ์ฌ์ฉ์๊ฐ ์ง์ ์๋์ผ๋ก ์์๋ด์ผ ํ์ง๋ง, Map์ size๋ฅผ ํตํด ํฌ๊ธฐ๋ฅผ ์ฝ๊ฒ ์ป์ ์ ์์ต๋๋ค.
objMap = new Map(); objMap.set('one', 1); objMap.set('two', 2); objMap.set('three', 3); console.log(objMap.size); // 3 obj = {hi : 1, hi2 : 2, hi3 :3, hi4: 4}; console.log(obj.length); // undefined console.log(obj.size); // undefined
- Map์ย ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ๋ ์์ ์์ Object ๋ณด๋ค ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ ๋๋ค.
ย
2. Set
2.1 Set ์ด๋?
ย
Set์ ๋ชจ๋ ํ์
์ ๊ฐ์ ์ ์ฅํ๋ ๊ฐ์ฒด์๋ฃํ์ ํ ์ข
๋ฅ์
๋๋ค. ์ด๋ ๊ฐ์ฒด ์์ ๊ฐ์ ์ค๋ณต์ ํ์ฉํ์ง ์์ต๋๋ค.
let s = new Set('abcdeeeeeeeee'); console.log(s); console.log(s.size); // Set์ ๊ฐ์ ์ถ๊ฐํ๊ธฐ s.add('f'); console.log(s); // Set์ ์ํํ๊ธฐ for (var variable of s) { console.log(variable); } // ๊ฐ์ด ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ let ss = new Set('abcdeeeeeeeee'.split('')); console.log(ss); // Set์ ๊ฐ์ ์ ๊ฑฐํ๊ธฐ ss.delete('b'); // Set์ ๊ฐ์ ํ์ธํ๊ธฐ console.log(ss.has('a')); // Set์ ๋ชจ๋ ๊ฐ์ ์ ๊ฑฐํ๊ธฐ ss.clear console.log(ss); let a = new Set('abc'); let b = new Set('cde'); // ๊ต์งํฉ let cro = [...a].filter(value => b.has(value)) // ํฉ์งํฉ let union = new Set([...a].concat(...b)) // ์ฐจ์งํฉ let dif = new Set([...a].filter(x => !b.has(x)));