2013-11-20 3 views
0

나는 마스터 마인드를 만들기 위해 프로젝트를 진행 중입니다. 을 제외한 모든 것이 잘되고 있습니다. 다음 오류가 발생합니다. - 잡히지 않은 typeerror는 정의되지 않은 '0'속성을 읽을 수 없습니다.잡히지 않은 typeerror가 for 루프 내에서 정의되지 않은 '0'속성을 읽을 수 없습니다.

function vergelijking(computer, speler) 
    { 
     var arrayVergelijken = []; 

     for(var i = 0; i < arrayLengte; i++) 
     { 
      if(computer[i] === speler[i]) 
      { 
       arrayVergelijken.push("1"); 
      } 
      else 
      { 
       arrayVergelijken.push("0"); 
      } 
     } 

     return arrayVergelijken; 
    } 

편집 : 나는 코드를 일부 변경 한
오타. 이전보다 잘 작동합니다. 그러나 여전히 이상한 일이 있습니다. 이 코드는 매번 '0'을 제공합니다. 내가 모든 색깔 (geel, groen, rood, blauw, oranje)을 시도 할 때처럼 내가받는 반응은 0이다. 일반적으로 색상이 컴퓨터의 임의 색상과 일치하면 코드에서 나에게 '1'을 제공해야합니다.

편집 : 나는 약간의 변경을가 했으므로 이제 프로그램은 훌륭하게 진행되고있다. 그것은 내가 원했던 모든 것을 해낸다. 해피 :) ->http://pastebin.com/VJWj3uc3

+0

배열 중 하나의 이름을 잘못 입력했거나 전혀 존재하지 않거나 값이 없습니다. – adeneo

+1

어떻게 함수를 호출하고 있습니까? 그 코드를 포함시킬 수 있습니까? – glomad

+0

'arrayLengte'도 (이 코드에서) 정의되지 않았지만'computer [i]'또는'speler [i]'에서 에러가 발생했습니다. 실제로 실행할 수있는 작업 예제 ("오류 표시"에서처럼)를 제공해야합니다. –

답변

1

여기에 귀하의 script 조금 업데이트되어 있으며 영어로 번역되어 있습니다. 미안 해요, 네덜란드 :-)에게

일부 메모를 모르는 : 당신이 Math.random(kleuren)을 요구하고있다

. Math.random()

오류 : 매개 변수없이 juisteAntwoorden()을 호출했습니다. 배열이어야합니다. 변경됨.

항상 0이되는 이유 : ===을 사용하여 0 또는 1 인 배열의 문자열 "0"또는 "1"을 비교했습니다. 에서는 parseInt (배열 [I])로 변경

게임 정지 적이 : ||&&

로 바꾸고 I가 console.log 메시지를 남겼 루프가있다.

+1

|| &&로 변경하면 매우 좋습니다. 타이. 코드를 수정하고 이제는 juisteAntwoorden()에 매개 변수를 제공합니다. "1"과 "0"주변에 ""을 추가했습니다. 타이이 좋은 조언을 위해 !! – user3004449

관련 문제