JavaScript에서는 생성된 난수가 일반적으로 반복되지만 때로는 반복되지 않는 난수가 필요할 수도 있습니다. 다음으로, 반복되지 않는 난수를 생성하는 세 가지 방법을 설명하고, 어떤 방법이 더 효율적인지 비교해 보겠습니다.
방법 1
아이디어: 먼저 1부터 3000까지 배열을 만들고 매번 하나의 숫자를 가져온 다음 배열에서 꺼낸 숫자를 제거하여 절대로 반복됩니다.
성능: 1528밀리초가 걸렸습니다.
방법 2
아이디어: 방법 1의 슬라이스 방법을 개선하여 효율성을 높입니다. 또는 원래 배열에서 숫자를 가져온 다음 원래 배열에서 이 위치의 값을 null에 할당합니다. 다음에 번호를 검색할 때 null인지 확인하세요. null이면 검색되지 않습니다.
성능: 290밀리초.
방법 3
아이디어: 원래 배열을 분할한 다음 하나씩 출력합니다. 이렇게 하면 무작위로 반복할 수 없으며 더 효율적입니다.
성능: 229밀리초 소요 .
성능 분석을 통해 방법 3이 가장 좋은 솔루션이라는 결론을 내렸습니다.