중복 없는 랜덤 배열

기본형
 
<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,234
14년 전 조회 5,567
14년 전 조회 9,288
14년 전 조회 8,143
14년 전 조회 6,377
14년 전 조회 6,467
14년 전 조회 3,418
14년 전 조회 6,866
14년 전 조회 3,539
14년 전 조회 4,991
14년 전 조회 6,935
14년 전 조회 7,136
14년 전 조회 3,870
14년 전 조회 6,095
14년 전 조회 4,702
14년 전 조회 8,757
14년 전 조회 4,852
14년 전 조회 7,862
14년 전 조회 7,961
14년 전 조회 6,095