주니오주니
180
2020-11-22 14:34:02
3
138

자바스크립트 질문이요


        <script>
            for (var d = 1; d <= 6; d++) {
                console.log(d+"<br>");
                if (d == 5) {
                    
                  
                    
                    d = 2; 
                }
            }
        </script>

이거 코드는 잘못된 코드입니다.
의도는 d가 6까지 반복되다가 d가 5가되면   for (var d = 1; d <= 6; d++) {이부분에
초기값을 2로 시작하게끔 할려면 어떻게 해야하나요?
0
  • 답변 3

  • 한국은역시자바
    331
    2020-11-22 14:46:15

    잘못된코드이전에 무한루프가 도는 코드는 어떤이유로 작성하시는건가요?

  • 주니오주니
    180
    2020-11-22 14:52:12
            <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 = c; //중복 발생하면 그 순서를 다시 실행해야하니까 다시 선언해줌.
                            }
                        }
                    }
                }
            </script>

    중복 피하게 할려고 하는데 어디가 잘못된걸까요???
    for문 구조는 고치지 말고 해주세요...

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

    여기서 값이 중복되면 초기값에 중복된 배열칸으로 초기화 시키고 싶어서 그럽니다.
  • 발상
    5
    2020-11-22 17:29:27 작성 2020-11-22 17:36:43 수정됨

    어떤이유에서 무한루프를 의도하시는지는 모르겠지만..


    let d = 1;
      for (d = 1; d <= 6; d++) {
        console.log(d+"<br>");
        if (d == 5) {
          d = 2; 
        }
      }
    반복해서 사용될 변수를 위에서 선언하면됩니다..

    댓글로 남긴 소스보면 대충... 로또만들려고 하시는거같은데 검색더하시면 훨씬 간결하고 완벽하게 나오는 방법이 있습니다...
  • 로그인을 하시면 답변 을 등록할 수 있습니다.