[THU] 2021-12-02 TIL
킥복싱 3주차 후기: 살은 안빠지고 부상을 얻었다. 아야
벨로그보다 노션이 훨씬 편하고, 귀엽고 심지어 앱도 있다.
노션을 주로 써야겠다 룰루쓰😘
요즘 소코도모 회전목마랑 비오 리무진이 너무 좋다.
특히 회전목마 하루에 3시간씩은 듣는듯
🧡 Notion
https://www.notion.so/Map-Set-eb1cf35cdee845349d4ee178a7cca0d9
1. Map
1.1 Map이란?
: key와 value의 쌍을 가지는 객체자료형,
Map은 'Map'이라는 **새로운 자료형**이라고 생각해라! (array 처럼 typeof 하면 object 로 나옴)
: key와 value의 쌍을 가지는 객체자료형,
Map은 'Map'이라는 **새로운 자료형**이라고 생각해라! (array 처럼 typeof 하면 object 로 나옴)
✨object는 Interable 하지 않으며, Map은Interable 함 (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
Author And Source
이 문제에 관하여([THU] 2021-12-02 TIL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@minbok/멋사-211202-TIL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)