일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 스프링
- Native
- sql
- 시큐리티
- 앱
- springboot
- expo
- sts
- mysql
- 시놀로지
- 안드로이드
- DB
- 이클립스
- EAS
- 폰트
- 배포
- Admob
- yml
- 자바스크립트
- sqlite
- thymeleaf
- Navigation
- YAML
- string
- sdk
- react
- 로또
- Android
- Java
- spring
- Today
- Total
Dev JS Blog
[Javascript] 로또 번호 출력하기 본문
2019/09/23 - [IT/개발] - [JAVA] 랜덤 숫자 뽑기 로또 숫자 뽑기
예전 게시물에서는 java로 로또번호를 뽑았었지만
이번에는 javascript로 로또번호를 간단히 추출해보려한다.
바로 자바스크립트에서는
Math.random() * 마지막숫자 를 하게되면
0 부터 마지막 숫자까지 랜덤으로 뽑히게된다.
하지만 우리는 0이 필요없으므로 +1을 해줄거다.
근데 이게 저 함수를 실행해보면
이런식으루...소수점까지 랜덤으로...............
우리는 소수점이 필요없으므로
parseInt를 해주자.
아참 +1 도 잊지말자.
이렇게 6개를 뽑으면 좋겠지만
생각해보면 중복이 되지 말아야겠지....?
lotto라는 배열을 하나 만들꺼다.
예시로 2와 3을 넣어주고 2가 있는지 확인할려면...?
indexOf 를 활용해준다.
lotto 배열 안에는 1은 없으로 -1을 return
2는 있으므로 0 을 return 했다.
3을 확인해보면 1을 return 한다.
즉 indexOf는 그 값의 인덱스를 return 한다.
만약 존재 하지않으면 -1을 return 한다.
그래서 이걸 이용하여 우리는 중복되지 않는 로또 숫자를 뽑을 것이다.
그래서 최종적으로
while 문에서는 lotto 배열의 길이가 6이하까지 반복되도록 하고
indexOf 로 중복이 되지 않도록 넣어줌으로서 lotto 번호 6개를 뽑을수가 있다.
근데 또 저게 숫자가 정렬이 안되어있는게 불편하다.
하지만 정말 간단히 정렬할 수 있다.
sort()를 해주면 오잉? 7이 가장 뒤에있다..
이부분은 따로 또 글을 쓸것인데
이렇게 해주면 오른차순으로 정렬이된다.
'옛날 창고 > 개발' 카테고리의 다른 글
[Java] 이클립스 Dynamic web project 없을때 해결법 (0) | 2021.01.03 |
---|---|
[Java] 이클립스 getter setter 만들기 (0) | 2021.01.03 |
변수명 짓는 사이트 추천 (2) | 2021.01.01 |
이클립스 콘솔 설정 (0) | 2021.01.01 |
이클립스 font 변경하는법 (0) | 2021.01.01 |