[typescript] 배열의 요소 셔플하기
- Fisher-Yates 셔플 알고리즘을 사용하여 배열의 요소를 섞는 함수를 작성합니다.
function shuffleArray(array: any[]): any[] {
const shuffledArray = array.slice();
for (let i = shuffledArray.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[shuffledArray[i], shuffledArray[j]] = [shuffledArray[j], shuffledArray[i]];
}
return shuffledArray;
}
위의 코드는 Fisher-Yates 셔플 알고리즘을 사용하여 배열의 요소를 무작위로 섞는 shuffleArray
함수를 정의합니다. 이 함수는 원본 배열을 변경하지 않고 새로운 배열을 반환합니다.
- 이제
shuffleArray
함수를 사용하여 배열을 셔플합니다.
const originalArray = [1, 2, 3, 4, 5];
const shuffledArray = shuffleArray(originalArray);
console.log(shuffledArray); // [3, 2, 5, 1, 4] 와 같이 배열의 요소가 무작위로 섞였습니다.
위의 예제에서는 shuffleArray
함수를 사용하여 originalArray
의 요소를 섞은 결과를 출력합니다.
이제 TypeScript를 사용하여 배열의 요소를 셔플하는 방법에 대해 알아보았습니다. Fisher-Yates 셔플 알고리즘은 배열을 효과적으로 섞는 방법 중 하나이며, 위의 예제를 참고하여 적절히 활용할 수 있습니다.