0
for
루프를 사용하여 1-20 사이의 6 개의 임의 숫자를 얻고 indexOf
을 사용하여 중복을 생략하고 배열로 푸시합니다.for 루프 및 indexOf를 사용하여 배열에 고정 된 수의 고유 항목 추가
그러나 배열에 6 개의 항목이 항상 필요하므로 중복되도록 대체하고 싶습니다. 내 순진한 코드에서 중복은 단순히 생략됩니다. 즉, 배열에서 6보다 작아 질 때가 있습니다. 6 개의 배열 슬롯을 채우기 위해 누락 된 부분을 어떻게 대체합니까?
function rolld(event:MouseEvent) {
for (i = 0; i < 6; i++){
d = (Math.floor(Math.random() * (1 + d_hi - d_lo)) + d_lo);
if (rollArray.indexOf(d) < 0){
rollArray.push(d);
}
}
trace (rollArray);
}
여전히 매우 새로운 것입니다. 어떤 도움을 주셔서 감사합니다!
splice를 사용하면 indexOf도 사용할 필요가 없습니다. 맞습니까? 내 주요 문제는 누락 또는 접합 된 모든 것에 대해 생성 된 새로운 난수를 얻는 것입니다. 고마워 – chluaid
한 번에 6 개의 다른 숫자를 생성하는 것 사이에 어떤 차이도 보이지 않으며 몇 번에 생성 할 수 있습니다. 그리고 splice를 사용하면 duplicatenumber가 있는지 확인할 필요가 없습니다. – Pan
예, 대답이 '예'입니까? splice를 사용하면 indexOf를 사용할 필요가 없습니다. 둘 다 나를 위해 잘 작동합니다. 진짜 문제는 중복을 새로운 숫자로 대체하는 방법입니다. 따라서 항상 6 개의 출력이 있습니다. 귀하의 답변을 주셔서 감사합니다,하지만 지금은 새로운 번호로 중복을 대체하는 법을 배워야합니다. – chluaid