자바 스크립트에서 해당 범위의 모든 숫자에 대해 특정 범위의 고유 한 임의의 정수를 얻는 방법은 무엇입니까?
내가 가지고 :function getRandomInt(min, max){
return Math.floor(Math.random() * (max - min + 1)) + min;
}
하지만 문제는 배열에 요소가있는 무언가의 인구를 randomise 싶습니다 (그래서 그들은 같은 순서로 채울 것입니다 때마다 나타나지 않는다) 필요가 그래서 지금까지 다른 숫자와 비교하여 반환 된 숫자가 고유한지 확인하십시오.
그래서 대신 :
for(var i = 0; i < myArray.length; i++) {
}
가지고 :
var i;
var count = 0;
while(count < myArray.length){
count++;
i = getRandomInt(0, myArray.length); // TODO ensure value is unique
// do stuff with myArray[i];
}
자네 말이 맞아 : 다음 예는 방법을 보여줍니다! 내가 답변으로 표시 할 수 있도록 코드를 포함 할 수 있습니까? function shuffle (array) { var tmp, current, top = array.length; if (top) while (- top) { current = Math.floor (Math.random() * (top + 1)); tmp = 배열 [현재]; 배열 [현재] = 배열 [맨 위]; 배열 [위쪽] = tmp; } return array; } – markmnl