소개
이 랩에서는 Fisher-Yates 알고리즘과 JavaScript 에서의 구현을 살펴보겠습니다. 특히, 이 알고리즘을 사용하여 배열을 섞는 데 중점을 둘 것입니다. 이 랩을 마치면 Fisher-Yates 알고리즘이 어떻게 작동하는지, 그리고 배열의 요소 순서를 무작위로 만드는 데 어떻게 사용될 수 있는지 더 잘 이해하게 될 것입니다.
This tutorial is from open-source community. Access the source code
이 랩에서는 Fisher-Yates 알고리즘과 JavaScript 에서의 구현을 살펴보겠습니다. 특히, 이 알고리즘을 사용하여 배열을 섞는 데 중점을 둘 것입니다. 이 랩을 마치면 Fisher-Yates 알고리즘이 어떻게 작동하는지, 그리고 배열의 요소 순서를 무작위로 만드는 데 어떻게 사용될 수 있는지 더 잘 이해하게 될 것입니다.
JavaScript 에서 배열을 섞으려면 Fisher-Yates 알고리즘을 사용하십시오. 이 알고리즘은 배열의 요소를 무작위로 재정렬하고 새로운 배열을 반환합니다.
코딩 연습을 시작하려면 터미널/SSH 를 열고 node를 입력하십시오.
Fisher-Yates 알고리즘의 코드는 다음과 같습니다.
const shuffle = ([...arr]) => {
let m = arr.length;
while (m) {
const i = Math.floor(Math.random() * m--);
[arr[m], arr[i]] = [arr[i], arr[m]];
}
return arr;
};
배열을 섞으려면 shuffle 함수에 배열을 전달하면 섞인 배열을 반환합니다. 예를 들어:
const foo = [1, 2, 3];
shuffle(foo); // returns [2, 3, 1], and foo is still [1, 2, 3]
축하합니다! 배열 섞기 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.