1. Math.random() : 랜덤값 반환(0~1 사이의 난수값을 반환) : 반환(숫자)
choices의 요소들을 무작위 섞기
// 보기 랜덤 섞기
for (let i = choices.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[choices[i], choices[j]] = [choices[j], choices[i]];
}
반복문을 통해 배열의 뒤에서 앞까지 탐색하며 섞는다. 현재 인덱스 i를 기준으로 0부터 i까지의 무작위 정수 j를 생성합니다.
Math.random() 함수는 0이상 1미만의 난수를 반환하고 (i + 1) 과 곱한 후 Math.floor()함수를 사용하여 소수점을 버려 정수 j를 얻는다.
choices의 i,j에 해당하는 요소를 서로 교환한다. 이렇게 하면 요소 순서가 무작위로 섞이게 된다.
결과 확인하기
3. Math.floor(): 버림 : 반환(숫자)
choices의 요소들을 무작위 섞기
// 보기 랜덤 섞기
for (let i = choices.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[choices[i], choices[j]] = [choices[j], choices[i]];
}
반복문을 통해 배열의 뒤에서 앞까지 탐색하며 섞는다. 현재 인덱스 i를 기준으로 0부터 i까지의 무작위 정수 j를 생성합니다.
Math.random() 함수는 0이상 1미만의 난수를 반환하고 (i + 1) 과 곱한 후 Math.floor()함수를 사용하여 소수점을 버려 정수 j를 얻는다.
choices의 i,j에 해당하는 요소를 서로 교환한다. 이렇게 하면 요소 순서가 무작위로 섞이게 된다.