Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 장고웹
- 장고
- speechtoText
- 파이썬
- 자바스크립트날짜
- 이행은이미다른
- 오류종류
- 자바스크립트수학
- 자바스크립트날짜get
- 청소년복지론
- Android
- 사례관리
- 이행은이미다른테이블에속해있습니다
- Python
- R데이터분석
- 다른테이블에속해있습니다
- speechAPI
- 자바스크립트forinforof차이
- 자바스크립트날짜형식
- javaScriptError
- 장고프로젝트
- cmd명령어
- 장고웹프로젝트
- 개발
- webkitrecognition
- sqlite
- 안드로이드
- PostgreSQL
- 자바스크립트for문
- forof문
Archives
- Today
- Total
EMDI는 지금도 개발중
JavaScript : 자바스크립트 Set(), Map() 본문
▶ Set()
- Set()은 value들로 이루어진 컬렉션
- Array와는 다르게 Set은 같은 value를 2번 포함할 수 없다. 따라서 Set에 이미 존재하는 값을 추가하려고 하면 아무 일도 없다.
Method | Description |
new Set() | 새로운 Set을 생성 |
add() | Set안에 있는 새 요소를 추가 |
delete() | Set에 있는 요소 삭제 |
has() | Set에 해당 요소가 있으면 true를 반환 |
forEach() | Set 각 요소에 대한 콜백을 호출 |
values() | Set의 모든 값이 있는 반복자 반환 |
Property | Description |
size | Set안에 있는 요소들의 수를 return |
<script>
const letters = new Set(); //1. 새로운 set을 만든다.
letters.add('a'); //2. 새로운 요소를 추가한다.
letters.add('b');
letters.add('c');
letters.add('a'); // 이미 존재하는 값을 넣어도 Array처럼 추가되지 않는다.
// letters.size : 3
// letters.has('a') : true
// 3. forEach()
let text = "";
letters.forEach (function(value) {
text += value + "<br>";
})
document.getElementById("demo").innerHTML = text;
// text 결과
/*
a
b
c
*/
// 4. values()
let text = "";
for (const x of letters.values()) {
text += x + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
※ has()는 indexOf()보다 빠르다고 하지만, Set에는 index가 존재하지 않기 때문에 index를 가지고 value를 접근할 수 없다.
▶ Map()
- Map()은 키가 모든 데이터의 유형이 될 수 있는 키-값으로 이루어진 컬렉션
- Map()은 키의 원래 삽입 순서를 기억한다.
- key를 사용해서 value를 get, set할 수 있다. key들은 중복될 수 없다. 하나의 key에는 하나의 value만 존재한다.
Method | Description |
new Map() | 새로운 Map을 생성 |
set() | Map의 키 값을 설정 |
get() | Map의 키 값을 가져오기 |
delete() | 키로 지정된 Map요소 삭제 |
has() | 해당 키가 Map에 있으면 true반환 |
forEach() | Map의 각 키/값 쌍에 대한 함수를 호출 |
entries() | Map에서 [key, value] 쌍이 있는 반복자를 반환 |
Property | Description |
size | Map의 요소 수를 반환 |
<script>
// 1. Map생성
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
document.getElementById("demo").innerHTML = fruits.get("apples");
// 결과값 : 500
// 2. Map set사용
fruits.set("apples", 500);
// 3. Map get사용
fruits.get("apples"); // 500 return
// 4.그 외
fruits.size // 3 return
fruits.delete("apples"); //apples없어지고 나머지 보임
fruits.has("apples"); //있으면 true, 없으면 false
</script>
▶ Map과 Object의 차이
Object | Map | |
반복 | 직접 반복할 수 없음 | 직접 반복이 가능 |
크기 | 크기 속성이 없다 | 크기 속성이 있다 |
키 유형 | 키는 문자열(또는 symbol)이어야 한다 | 키는 모든 데이터 유형이 될 수 있다 |
키 순서 | 키가 정렬되어 있지 않다 | 키는 삽입 순서로 정렬된다 |
기본값 | 기본 키 보유 | 기본 키가 없다 |
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value + "<br>"
})
document.getElementById("demo").innerHTML = text;
/* 결과
apples = 500
bananas = 300
oranges = 200
*/
<script>
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
let text = "";
for (const x of fruits.entries()) {
text += x + "<br>";
}
document.getElementById("demo").innerHTML = text;
/* 결과
apples,500
bananas,300
oranges,200
*/
</script>
'프론트 > JavaScript' 카테고리의 다른 글
JavaScript : for문, forEach문 차이점 (0) | 2023.04.26 |
---|---|
JavaScript : 자바스크립트 Errors (Try, Catch, Finally, Throw) (0) | 2022.03.16 |
JavaScript : 자바스크립트 조건문, 반복문 (0) | 2022.03.03 |
JavaScript : 날짜함수(Date Get Methods), 공식(Math) (0) | 2022.03.01 |
JavaScript : 데이터형식, 이벤트, 템플릿 이용 방법 (0) | 2022.02.17 |
Comments