문제 )
다음 조건을 이용하여 Lotto 번호 추출기 만들기
1. 유일한 값을 추출하는 과정에서 Set을 사용한다.
2. getRandomNuber 함수에 변수를 전달하는 과정에서 destructuring을 사용한다.
const SETTING = {
name :"LUCKY LOTTO!",
count : 6,
maxNumber : 45
}
function getRandomNumber(maxNumber){
//랜덤한 유일한 숫자값을 추출
let random = (Math.floor(Math.random() * maxNumber)+1);
return random;
}
const {maxNumber, count} = SETTING;
let setNumber = new Set();
setNumber.clear();
for(let i = 0, j = 1; i < count; i++, j++){
setNumber.add(getRandomNumber(maxNumber));
if(setNumber.size !== j){
i--;
j--;
}
}
console.log(setNumber);
결과값 매우 잘나온다 __b
자료구조 Set
Set() 은 value 들로 이루어진 컬렉션(“집합”이라는 표현이 적절)
Array 와는 다르게 Set 은 같은 value 를 2번 포함할 수 없기 때문에 이미 존재하는 값을 추가할 수 없다.(에러 안뜸)
추가 상세내용 : https://medium.com/@hongkevin/js-5-es6-map-set-2a9ebf40f96b
구조분해문법 destructuring
구조화된 배열 또는 객체를 Destructuring(비구조화, 파괴)하여 개별적인 변수에 할당하는 것이다.
배열 또는 객체 리터럴에서 필요한 값만을 추출하여 변수에 할당하거나 반환할 때 유용하다.
1. 배열 디스트럭처링 (Array destructuring)
배열의 각 요소를 배열로부터 추출하여 변수 리스트에 할당한다. 이때 추출/할당 기준은 배열의 인덱스이다.
const arr = [1, 2, 3];
const [one, two, three] = arr;
2. 객체 디스트럭처링 (Object destructuring)
객체의 각 프로퍼티를 객체로부터 추출하여 변수 리스트에 할당한다. 이때 할당 기준은 프로퍼티 이름(키)이다.
var obj = {
a: 10,
b: 20,
c: 30
};
var { a, b, c } = obj;
출처 : https://poiemaweb.com/es6-destructuring
'Programming > JavaScript' 카테고리의 다른 글
[React / Node.js] react-router 리액트 라우터 알아보기 (0) | 2021.07.04 |
---|---|
[인프런] 레츠기릿 자바스크립트 / 끝말잇기, 셀프체크 쿵쿵따 만들기 (0) | 2021.06.30 |
[React / Node.js] 영화사이트 클론코딩 - 에러 해결, React, ES6 문법 알아보기 (0) | 2021.06.23 |
[인프런] 모던 자바스크립트(javascript) 개발을 위한 ES6 강좌 / 미니프로젝트 (0) | 2021.06.22 |
[인프런] 모던 자바스크립트(javascript) 개발을 위한 ES6 강좌 / 실습 1 - 특정 문자열이 포함된 배열 만들어 반환하기 (0) | 2021.06.18 |