>  기사  >  웹 프론트엔드  >  반복되지 않는 난수를 생성하기 위해 JavaScript를 구현하는 세 가지 방법_javascript 기술

반복되지 않는 난수를 생성하기 위해 JavaScript를 구현하는 세 가지 방법_javascript 기술

WBOY
WBOY원래의
2016-05-16 17:46:321466검색

JavaScript에서는 생성된 난수가 일반적으로 반복되지만 때로는 반복되지 않는 난수가 필요할 수도 있습니다. 다음으로, 반복되지 않는 난수를 생성하는 세 가지 방법을 설명하고, 어떤 방법이 더 효율적인지 비교해 보겠습니다.

방법 1
아이디어: 먼저 1부터 3000까지 배열을 만들고 매번 하나의 숫자를 가져온 다음 배열에서 꺼낸 숫자를 제거하여 절대로 반복됩니다.

코드 복사 코드는 다음과 같습니다.


성능: 1528밀리초가 걸렸습니다.


방법 2 아이디어: 방법 1의 슬라이스 방법을 개선하여 효율성을 높입니다. 또는 원래 배열에서 숫자를 가져온 다음 원래 배열에서 이 위치의 값을 null에 할당합니다. 다음에 번호를 검색할 때 null인지 확인하세요. null이면 검색되지 않습니다.

코드 복사 코드는 다음과 같습니다.


성능: 290밀리초.


방법 3 아이디어: 원래 배열을 분할한 다음 하나씩 출력합니다. 이렇게 하면 무작위로 반복할 수 없으며 더 효율적입니다.

코드 복사 코드는 다음과 같습니다.



성능: 229밀리초 소요 .
성능 분석을 통해 방법 3이 가장 좋은 솔루션이라는 결론을 내렸습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.