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
- gitlab
- 스프링부트
- SpringBoot
- 자바
- STS
- IntelliJ
- leetcode
- Spring Cloud
- map
- spring security
- 스프링 클라우드
- 비동기
- EUREKA
- GIT
- 도커
- docker
- 코딩테스트
- OAuth
- map()
- JS
- 유레카
- Spring
- 스프링
- Java
- jQuery
- date
- 프로그래머스
- JavaScript
- spring boot
- 자바스크립트
Archives
- Today
- Total
RATSENO
[JS]맵(Map)과 셋(Set) -2 본문
셋(Set)은 중복을 허용하지 않는 데이터 집합입니다.
이전 포스팅 : 2019/12/04 - [DEV/JS] - [JS]맵(Map)과 셋(Set) -1
에서 사용한 예제를 다시 활용하겠습니다. 이번에는 한 사용자에게 여러 역할을 할당하고 싶다고 가정하겠습니다.
예를 들어 "User" 역할은 모든 사용자에게 할당되지만, 관리자는 "User" 역할과 "Admin" 역할을 동시에 가질 수 있습니다. 하지만 같은 사용자에게 같은 역할을 여러번 부여한다는 것은 상식적이지 않습니다. Set은 이런 경우에 적합한 데이터 구조입니다.
Set 인스턴스를 만들어 보겠습니다.
const roles = new Set();
사용자 역할을 추가할 때는 add() 메서드를 사용합니다.
roles.add("User")
//Set { 'User' }
이 사용자에게 관리자 역할을 추가하려면 add()를 다시 호출합니다.
roles.add("Admin");
//Set { 'User', 'Admin' }
Map과 마찬가지로 Set에도 size 프로퍼티가 있습니다.
roles.size;
//2
셋의 장점은 추가하려는 것이 셋이 이미 있는지 확인할 필요가 없습니다. 이미 있다면 아무 일도 일어나지 않습니다.
roles.add("User");
//Set { 'User', 'Admin' }
roles.size;
//2
제거할 때는 delete()를 호출합니다.
제거에 성공했다면, 즉 셋에 존재했다면 true
그렇지 않다면 false를 반환합니다.
roles.delete("Admin");
//true
console.log(roles);
//Set { 'User' }
roles.delete("Admin");
//false
'DEV > JS' 카테고리의 다른 글
[JS/jQuery]다양한 입력값 체크 (1) | 2020.02.07 |
---|---|
[JS/jQuery]$(document).ready(function(){});이란? (1) | 2020.02.06 |
[JS]맵(Map)과 셋(Set) -1 (0) | 2019.12.04 |
[JS]map(), reduce() 함수 (0) | 2019.12.03 |
[JS]Promise (프라미스) - 2 (0) | 2019.11.21 |
Comments