6장 타이머 사용하기_로또 추첨기

최준영·2021년 8월 20일
0

1. 프로그램 제작에서 새로 배운 것들


1) 피셔 -예이츠 셔플 알고리즘

  • 배열을 무작위로 섞는 알고리즘이다.
const oldArray = [1, 2, 3, 4, 5, 6];
const newArray = [];
while (oldArray.length > 0) {
  const randomIndex = Math.floor(Math.random() * oldArray.length);
  const randomValue = oldArray.splice(randomIndex, 1);
  newArray.push(randomValue[0]);
  // newArray는 매 실행마다 요소 위치가 달라진다.
}

2) sort

  • 배열.sort((a, b) -> a-b)형태로 사용하면 오름차순으로 배열이 정렬된다.
  • 위의 식을 사용하면 기존 배열이 변한다.

3) setTimeout

  • 지정한 시간 뒤에 코드가 실행되게 할 수 있다.
  • 웹이 기존에 하고있는 일이 있다면 모두 끝난 이후에 setTimeout에 지정한 작업이 실행되기 때문에 타이머의 시간은 정확하지는 않다.
setTimeout(() => {
  실행문;
}, 밀리초);

4) 스코프

  • var은 함수스코프이다. if문의 블록에서 var로 선언되면 if문 밖에서도 사용 가능하다.
  • let, cont은 블록 스코프이다. if문, 함수 등 블록 내부에서 선언되면 블록 밖에서는 사용 불가능하다.
  • for문에서 var로 시작문을 선언하고 setTimeout을 사용한다면 원치않는 결과가 나올 수 있다.

2. 복습코딩


profile
do for me

0개의 댓글

관련 채용 정보