
다시 시작하는 자바스크립트 - Set를 이용한 QuizJavascript2023. 4. 22. 19:47
Table of Contents
728x90
반응형
- Set을 이용한 QUIZ.
Quiz 1. 주어진 배열에서 중복을 제거 하라.
const fruits = ["🍌", "🍎", "🍇", "🍌", "🍎", "🍑"];
다양한 방법으로 시도를 해보자.
라고 했지만 전부 Set이 이용됐다는 사실.
왜냐? 사실 Set을 사용하는 것만으로도 모든 중복은 제거되기 때문임.
1. set 이용해보기.
const set = new Set(fruits);
console.log(set);
// Set(4) { '🍌', '🍎', '🍇', '🍑' }
만들고 보니 생각난 건데 이 방법은 결과가 배열로 나오지 않는다.
그것도 깜빡해놓고 한 문제 풀었다고 즐겁다~ 하고 있었다...
--------------------------------------------------------------------------------------------------------------------------
1-1. 역시나 set을 이용해보기. 하지만 여기다가 spread를 덧붙인... ㅋㅋㅋㅋㅋㅋㅋ
const set = new Set(fruits);
const newArr = [ ...set ];
console.log(newArr);
// [ '🍌', '🍎', '🍇', '🍑' ]
이제야 배열로 만들어졌다 ^-^V
--------------------------------------------------------------------------------------------------------------------------
1-2. 역시나 set을 이용해보기 22222... 하지만 여기다 array.from을 덧붙인... ㅋㅋㅋㅋㅋㅋㅋㅋ
const setArr = Array.from(new Set(fruits));
console.log(setArr);
// [ '🍌', '🍎', '🍇', '🍑' ]
--------------------------------------------------------------------------------------------------------------------------
2. 재사용 가능한 함수로 만들기.
function removeDuplication(array) {
return [ ...new Set(array)];
}
console.log(removeDuplication(fruits));
// [ '🍌', '🍎', '🍇', '🍑' ]
Quiz 2. 주어진 두 세트의 공통된 아이템만 담고 있는 세트를 만들어라.
const set1 = new Set([1, 2, 3, 4, 5]);
const set2 = new Set([1, 2, 3]);
이번에는 그냥 for...of, forEach를 사용한 것과 filter를 사용한 것, 세 가지 정도로 문제를 풀어보겠다!
1. for ... of 사용하기
const set3 = new Set();
for (const item of set1) {
if(set2.has(item)) {
set3.add(item);
}
}
console.log(set3);
// Set(3) { 1, 2, 3 }
---------------------------------------------------------------------------------------------------------
2. forEach 사용하기. 여기서부터는 재사용성을 높이기 위하여 함수로 만들기도 함께 한다.
function sameNumber(num1, num2) {
const set4 = new Set();
num1.forEach((item) => {
if(num2.has(item)) {
set4.add(item);
}
});
console.log(set4);
}
sameNumber(set1, set2);
// Set(3) { 1, 2, 3 }
---------------------------------------------------------------------------------------------------------
3. filter 사용하기. 재사용성을 높이기 위하여 함수로 만들기.
function findIntersection(set1 ,set2) {
return new Set([...set1].filter((item) => set2.has(item)));
}
console.log(findIntersection(set1, set2));
// Set(3) { 1, 2, 3 }
728x90
반응형
'Javascript' 카테고리의 다른 글
다시 시작하는 자바스크립트 - Operators(연산자들) (0) | 2023.04.23 |
---|---|
다시 시작하는 자바스크립트 - Symbol (0) | 2023.04.22 |
다시 시작하는 자바스크립트 - Set과 Map (2) | 2023.04.21 |
다시 시작하는 자바스크립트 - 구조 분해 할당 (0) | 2023.04.21 |
다시 시작하는 자바스크립트 - spread 연산자 (0) | 2023.04.19 |
@min' :: 개발을 하자
github : https://github.com/dnjfht
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!