[일단 만드는 JS] 로또 번호 추첨기
🎱 로또 번호 추첨기
1-45 숫자 사이에서 무작위로 로또 번호를 추첨하는 로또 번호 추첨기를 만들어 보려고 한다. JavaScript의 내장 함수를 활용해 간단히 만들 수 있다.
우선 뽑힌 번호들을 보관할 수 있는 공간이 필요하다. var
키워드를 통해 변수를 만들어 주면 된다. 로또 번호는 하나가 아닌 여러 개의 숫자를 뽑기 때문에 5개의 숫자를 담을 수 있는 배열 형태로 선언해 준다.
var lotto = []
.length
를 사용해 배열의 길이를 계산할 수 있는데, 로또 번호가 5개 위로 뽑히면 안 되므로 배열의 길이가 6 미만일 때까지만 반복문이 작동할 수 있도록 while 문에 lotto.length < 6
이라는 조건을 작성해 준다.
var lotto = [];
while (lotto.length < 6) {}
이제 추첨되는 번호가 무작위로 뽑힐 수 있도록 해야 한다.
Math.random()
함수가 랜덤으로 번호를 추출하는 함수이기 때문에 1-45까지의 번호가 추첨될 수 있도록 함수를 여러 번 동작시켜야 한다.
함수를 사용하는 방법은 아래와 같다.
Math.random(): 0 이상 1 미만의 실수(float)
Math.random() * 최댓값
ex) Math.random() * 10: 0 이상 10 미만의 실수
우리는 45까지의 숫자를 사용할 것이기 때문에 Math.random() * 45
로 계산해 주어야 한다고 생각할 수 있다. 그러나 45까지의 숫자를 사용하려면 Math.random() * 45 + 1
, 즉 46 미만으로 범위를 설정해 주어야 한다.
추첨된 숫자는 실수형이 아닌 정수형으로 나올 수 있도록 parseInt
로 변환시켜 준다. parseInt
는 소수점을 버리고 정수로 변환시켜 주는 JS 내장 함수이다.
이렇게 변환된 정수의 로또 번호가 반복문이 한 번 돌아갈 때마다 num
에 저장될 수 있도록 한다.
var lotto = [];
while (lotto.length < 6) {
var num = parseInt(Math.random() * 45 + 1);
}
이대로 출력하면 숫자 순서가 뒤죽박죽이기 때문에 오름차순으로 정렬해 준다.
.sort
를 사용할 경우 사전순으로 정렬되기 때문에 [1, 11, 2, 22, 3, 33] 처럼 앞자리를 기준으로 정렬된다.
오름차순으로 정렬하기 위해서는 sort((a, b) => a - b)
형태로 사용해야 한다.
내림차순은 b-a로 작성하면 된다.
var lotto = [];
while (lotto.length < 6) {
var num = parseInt(Math.random() * 45 + 1);
if (lotto.indexOf(num) == -1) {
lotto.push(num);
}
}
lotto.sort((a,b)=>a-b)
document.write(lotto);
Author And Source
이 문제에 관하여([일단 만드는 JS] 로또 번호 추첨기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@plutoin/일단-만드는-JS-로또-번호-추첨기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)