주니오주니
180
2020-11-22 02:24:08
3
86

자바스크립트 질문이요!!


<script>

            for (var floor = 1; floor <= 1; floor++) {

                for (var b = 1 + 6 * (floor - 1); b <= 6 * floor; b++) {

                    for (var c = b + 1; c <= 6 * floor; c++) {

                        var number = Math.floor(Math.random() * (45)) + 1;

                        if (ty[b] == ty[c]) {

                          ty[b] = number; //[b];

                          c = b; //중복 발생하면 그 순서를 다시 실행해야하니까 다시 선언해줌.

                        }

                    }

                }

            }

        </script>


중복 피하게 할려고 하는데 어디가 잘못된걸까요???

for문 구조는 고치지 말고 해주세요...


ty배열에는 랜덤으로 숫자를 넣어났습니다.

ty배열 일대일대응으로 체크해서 중복 값이 나오면 중복 값 랜덤 값 넣어주고 다시 체크해줍니다.

제가 의도한거랑 코드가 잘못된거 같은데 도와주십쇼

0
  • 답변 3

  • hoonnote
    328
    2020-11-22 02:39:25

    array에 특정 값이 있는지 체크하고싶으면 includes 나 find, indexOf 등등을 사용해서 체크하실수 있습니다.

  • 주니오주니
    180
    2020-11-22 03:28:38

    배열 비교 할때
    1 2 3 4 5 6

    1 2 3 4 5 6

    1 -> 2
    1 -> 3
    1 -> 4
    1 -> 5
    1 -> 6
    2 -> 3
    2 -> 4
    .
    .
    .
    이런식으로 비교는 못하나요?

  • 피자7
    150
    2020-11-22 20:45:10

    로또 만드실꺼면 1~45까지 배열을 무작위로 섞어서

    하나씩 뽑는걸 더 추천드립니다

    배열 섞는 코드는 인터넷에 간단한 코드들 많으니 한번 찾아보심이

  • 로그인을 하시면 답변 을 등록할 수 있습니다.