중복 없는 랜덤 배열

기본형
 
<script>
myArray=[1,2,3,4,5,6,7];
for(i=myArray.length;i>0;i--)myArray.push(myArray.splice(Math.floor(Math.random()*i),1));
document.write(myArray);
</script>
 
-----------
 
응용형

<script>
totalN=45;
choiceN=6;
myArray=[];
for(i=1;i<=totalN;i++)myArray.push(i);
for(j=0;j<choiceN;j++)myArray.push(myArray.splice(Math.floor(Math.random()*(totalN-j)),1));
myArray=myArray.slice(-choiceN);
document.write(myArray);
</script>
 
딱 그 갯수만큼만 돌리기 때문에 소스에 공회전이 없습니다.
|

댓글 2개

잘 활용할께요
필요했었는데 늘감사합니다 ^^
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요. 나누면 즐거움이 커집니다.

+
제목 글쓴이 날짜 조회
14년 전 조회 4,200
14년 전 조회 5,545
14년 전 조회 9,253
14년 전 조회 8,110
14년 전 조회 6,347
14년 전 조회 6,435
14년 전 조회 3,385
14년 전 조회 6,838
14년 전 조회 3,510
14년 전 조회 4,963
14년 전 조회 6,906
14년 전 조회 7,094
14년 전 조회 3,842
14년 전 조회 6,046
14년 전 조회 4,667
14년 전 조회 8,724
14년 전 조회 4,826
14년 전 조회 7,830
14년 전 조회 7,932
14년 전 조회 6,055
🐛 버그신고