오늘 ONEUL
오늘의 개발
오늘 ONEUL
전체 방문자
오늘
어제
  • 오늘의 개발 (248)
    • 📝 TIL (121)
    • 💡 Projects (6)
      • 드로잉 게임 [눈치 코치 캐치!] (4)
      • 익명고민상담소 [대나무숲] (2)
    • 🌎 Web (47)
      • Spring (3)
      • Java (14)
      • JavaScript (16)
      • CSS (10)
      • HTML (4)
    • 📚 Database (7)
    • 👾 Trouble Shooting (3)
    • 📊 Algorithm&SQL (39)
    • 😺 Git (1)
    • 📖 Books (7)
      • 자바 객체 지향의 원리와 이해 (7)
    • 📁 ETC (2)
    • 되돌아보기 (15)

블로그 메뉴

  • 😺 Github
  • 🍀 NAVER Blog

인기 글

최근 댓글

최근 글

태그

  • 자바스크립트
  • 자바
  • 항해99
  • MySQL
  • JavaScript
  • 프로그래머스
  • Til
  • 알고리즘
  • Algorithm
  • Java

티스토리

hELLO · Designed By 정상우.
오늘 ONEUL

오늘의 개발

📝 TIL

[TIL] JS Set, 로또 번호 추첨기, Map

2022. 4. 15. 22:56

✍ Today I Learned

  • [생일, 디데이 계산기]
    • getTime() 메서드는 1970년 1월 0시 0분 0초부터 현재까지의 시간을 밀리초 단위로 환산한 값을 반환한다.
    • Date() 객체를 할당한 변수끼리는 밀리 초로 연산이 가능하다.
    • 기간을 출력할 때에는 주로 밀리초 단위를 사용하여 연산한다.
    • 날짜 관련 데이터는 moment.js 또는 FullCalendar 를 활용하는 것도 좋은 방법!
  • Set 객체에서 entries() 메서드로 값을 출력하려면 반복문을 중첩으로 사용해야 한다.
  • 객체도 연관 배열이라고 볼 수 있다.
  • [로또 번호 추첨기 ver. 1 (Set을 사용하기)]
    • Set객체는 중복을 허용하지 않기 때문에 새로운 Set의 size가 6이 될 때까지 while문을 실행한다.
    • 빈 배열을 만들어서 forEach() 메서드로 Set 객체의 값들을 빈 배열에 넣어준다.
    • 배열을 sort() 메서드로 정렬한 뒤 출력!
    • for문을 이용할 때에는 증감식을 i 대신 Set객체의 size가 6이 될 때까지로 설정한다.
  • [로또 번호 추첨기 ver. 2 (Set을 사용하지 않기)]
    • 빈 배열에 랜덤 숫자를 push() 하는 시점과 중복 숫자를 검사하는 시점이 좀 헷갈렸는데 includes() 메서드를 이용하여 간단히 해결하였다.
    • 랜덤 숫자를 먼저 변수에 할당하고 그 변수가 배열 안에 없으면 배열에 push()
    • 배열의 length가 6이 될 때까지 반복!
  • 로또 번호 추첨을 배열 순환 메서드를 사용하지 않고 구현하고 싶어서 엄청난 삽질을 해보았지만 결과적으로 구현하지 못했다. 제어문의 흐름을 다시 공부해야겠다.
  • includes() 메서드를 대체할만한 메서드는 indexOf() 메서드, 찾는 값이 없으면 -1을 반환한다.
  • 반복하는 메서드들을 잘 활용하면 코드를 효율적으로 줄일 수 있다.
저작자표시 (새창열림)

'📝 TIL' 카테고리의 다른 글

[TIL] JS 퀴즈 파티  (0) 2022.04.19
[TIL] JS 데이터 타입, 형변환, 호이스팅, 엄격모드, this  (0) 2022.04.18
[TIL] JS 배열 순환 메서드, break, continue, Date  (0) 2022.04.14
[TIL] JS forEach(), map(), filter()  (0) 2022.04.13
[TIL] JS 배열  (0) 2022.04.11
    오늘 ONEUL
    오늘 ONEUL
    Backend Engineer ㅣ 어제보다 나은 오늘, 재밌는 건 오늘부터!

    티스토리툴바