for문 사용
function getRandomArray(idxSize, range) { /* 랜덤 수를 가진 배열을 반환하는 메서드. * idxSize : 반환받을 배열 사이즈, * range : 랜덤 수의 범위 */ var indexs = new Array(); // 랜덤 인덱스 배열 var hasValue = false; //같은 값이 있는지 확인하기 위한 변수 if(idxSize > range) { console.error('index size > range'); return indexs; } while(indexs.length < idxSize) { hasValue = false; var temp = parseInt(Math.random() * range); for(c = 0; c < indexs.length; c++) { if(temp == indexs[c]) { hasValue = true; break; } } if(hasValue == false) { indexs.push(temp); } } return indexs; } // 사용방법 var indexs = new Array(); indexs = console.log(getRandomArray(5, 10)); indexs.forEach(function(value) { console.log(value); });
Set 사용
set으로 좀 더 짧은 코드를 작성할 수 있지만 크롬과 오페라, 파이어폭스에서만 지원되며 익스플로러에서는 Set을 지원하지 않는다.
var indexs = new Set(); while(1) { indexs.add(parseInt(Math.random() * 10)); if(indexs.size == 5) { console.log(indexs.size); break; } } indexs.forEach(function(value) { console.log(value); });
'Web > JavaScript' 카테고리의 다른 글
[JavaScript] 다음 페이지에 값 전달하기 (0) | 2015.03.04 |
---|---|
[javascript] <input type = "image"> submit 막기 (0) | 2013.08.31 |
[javascript] 텍스트박스 클릭시 문자 사라지기 (0) | 2013.08.28 |
[javascript] 브라우저 체크하기 (2) | 2013.08.24 |