테스트 사이트 - 개발 중인 베타 버전입니다

중복 없는 랜덤 배열

기본형
 
<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와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.
글쓰기
🐛 버그신고