Javascript
ES6 에서 추가된 문법들(3) - Set
joy_lee
2024. 7. 18. 00:44
Set
set은 중복을 허용하지 않은 값의 컬렉션이다. Array 와 비슷한데 중복을 허용하지 않는 것이 가장 큰 특징이다.
Array vs Set
Array | Set | |
항목의 순서 | 입력한 대로 순서있게 저장 | 순서 없이 저장 |
index 사용 여부 | index 로 접근 가능 | index 통해 접근 불가 |
중복 | 중복 허용 | 중복 불가 |
Set 의 Methods
- Set 생성하기 - new Set()
- 값 추가하기- set.add()
const nameSet = new Set();
nameSet.add('Sophia');
nameSet.add('Emma');
nameSet.add('Olivia');
console.log(nameSet);
// {'Sophia', 'Emma', 'Olivia'}
nameSet.add('Mia');
nameSet.add('Sophia');
// 중복된 값을 추가해도 입력되지 않는다
console.log(nameSet);
// {'Sophia', 'Emma', 'Olivia', 'Mia'}
// 객체를 전달받아 바로 생성할 수 있다.
const numberSet = new Set([1, 2, 3]);
- 값이 존재하는지 확인하기 - set.has()
nameSet.has('Olivia'); // true
nameSet.has('Chloe'); // false
- Set의 크기 확인하기 - set.size
const numberSet = new Set([1, 2, 3]);
numberSet.size; // 3
- 값을 제거하기 - set.delete()
- 값이 있어서 제거에 성공하면 true, 값이 없어서 제거에 실패하면 fasle 를 반환한다.
- Set 을 비우기 - set.clear();
const numberSet = new Set([1, 2, 3]);
// 제거하기
numberSet.delete(1); // true
numberSet.delete(5); // false
// 비우기
nameSet.clear();
Set 의 순환
- set.keys() - set 의 값을 반복하는 반복자 반환
- set.values() - set.keys 와 동일함. Map 과의 호환을 위해 만들어짐
- set.entries() - set 내의 각 값을 이용해 만든 [value, value] 배열을 포함하는 반복자 반환
- 값을 순회하기 - for…of
let animalSet = new Set(['dog', 'cat', 'hamster']);
for (let value of animalSet) {
alert(value); // dog, cat, hamster
}
참고한 페이지