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]);
}
2) sort
- 배열.sort((a, b) -> a-b)형태로 사용하면 오름차순으로 배열이 정렬된다.
- 위의 식을 사용하면 기존 배열이 변한다.
3) setTimeout
- 지정한 시간 뒤에 코드가 실행되게 할 수 있다.
- 웹이 기존에 하고있는 일이 있다면 모두 끝난 이후에 setTimeout에 지정한 작업이 실행되기 때문에 타이머의 시간은 정확하지는 않다.
setTimeout(() => {
실행문;
}, 밀리초);
4) 스코프
- var은 함수스코프이다. if문의 블록에서 var로 선언되면 if문 밖에서도 사용 가능하다.
- let, cont은 블록 스코프이다. if문, 함수 등 블록 내부에서 선언되면 블록 밖에서는 사용 불가능하다.
- for문에서 var로 시작문을 선언하고 setTimeout을 사용한다면 원치않는 결과가 나올 수 있다.
2. 복습코딩
