[THU] 2021-12-02 TIL

16927 단어 frontendfrontend

킥복싱 3주차 후기: 살은 안빠지고 부상을 얻었다. 아야
벨로그보다 노션이 훨씬 편하고, 귀엽고 심지어 앱도 있다.
노션을 주로 써야겠다 룰루쓰😘
요즘 소코도모 회전목마랑 비오 리무진이 너무 좋다.
특히 회전목마 하루에 3시간씩은 듣는듯

🧡 Notion
https://www.notion.so/Map-Set-eb1cf35cdee845349d4ee178a7cca0d9

1. Map

1.1 Map이란?

: key와 value의 쌍을 가지는 객체자료형,

  Map은 'Map'이라는 **새로운 자료형**이라고 생각해라! (array 처럼 typeof 하면 object 로 나옴)

✨object는 Interable 하지 않으며, MapInterable 함 (Interable: 순회가 가능함)

1.2 Map의 이용

let m = new Map();

m.set('하나', 'one');
m.set('둘', 'two');
m.set('셋', 'three');   //set: Map에 값을 넣음
m.get('하나'); //'one'
m.get('둘'); //'two'   //get: Map의 값에 접근
m.keys(); //MapIterator {'하나', '둘', '셋'}  //keys: key 값만 출력

m.values(); //MapIterator {'one', 'two', 'three'} //values: values 값만 출력

m.entries(); //MapIterator {'하나' => 'one', '둘' => 'two', '셋' => 'three'}
            //entries: key와 values값을 모두 출력
m.has('하나'); // true //has: Map의 값이 존재하는지 확인
m.delete('하나'); // true  //delete: Map의 값을 제거

  >> m.get('하나'); //Undefined
console.log(m.size); // 3 //Map의 크기를 확인

>> set한것의 개수,3/ delete로 값을 하나 제거후에 실행하면 2로 변함

1.3 Map의 활용

let m = new Map();

m.set('하나', 'one');
m.set('둘', 'two');
m.set('셋', 'three');
m.set('넷', 'four');
m.set('다섯', 'five');
// Map의 순환
for (var variable of m) {
  console.log(`m을 순회하고 있습니다. ${variable[0]}`)
  console.log(`m을 순회하고 있습니다. ${variable[1]}`)
}

//m을 순회하고 있습니다. 하나
//m을 순회하고 있습니다. one
//m을 순회하고 있습니다. 둘
//m을 순회하고 있습니다. two
//m을 순회하고 있습니다. 셋
//m을 순회하고 있습니다. three
//m을 순회하고 있습니다. 넷
//m을 순회하고 있습니다. four
//m을 순회하고 있습니다. 다섯
//m을 순회하고 있습니다. five
// 인덱스를 가지는 자료형 맵핑
let temp = new Map([[1, 10],
[2, 20],
[3, 30],
[4, 40]]);

console.log(temp);

//Map(4) {1 => 10, 2 => 20, 3 => 30, 4 => 40}

2. Set

2.1 Set 이란?

: 중복을 허용하지 않음, 합/교/차집합 사용 가능, 순서가 없음 (index로 호출할 수 없음)

let s = new Set('abcdeeeeeeeee');

console.log(s);  //Set(5) {'a', 'b', 'c', 'd', 'e'}
console.log(s.size);  //5
s.add('f'); //Set(6) {'a', 'b', 'c', 'd', 'e', 'f'}
s.delete('b'); //Set(5) {'a', 'c', 'd', 'e', 'f'}
s.has('c')
let a = new Set('abc');
let b = new Set('cde');

let union = new Set([...a].concat(...b)) // 합집합
//Set(5) {'a', 'b', 'c', 'd', 'e'}

let cro = [...a].filter(value => b.has(value)) // 교집합

let dif = new Set([...a].filter(x => !b.has(x))); // 차집합

전개 연산자: 배열 또는 객체를 하나씩 넘김, 전개

concat: 기존 요소에 추가된 요소를 더해서 반환

// Set의 순환
for (var variable of s) {
  console.log(variable);
}

// a
// c
// d
// e
// f

좋은 웹페이지 즐겨찾기