2014-06-08 2 views
0

다음 코드에서는 콘솔에 메시지에 해당하는 응답을 기록하고 메시지가 배열에 없다면 "나는 그 메시지를 잡지 못했습니다"라고 말합니다.메시지에 대응하는 응답을 기록 하시겠습니까?

의미

메시지 ("안녕") 모두 여기에

이 내 코드의 인덱스를 가지고 있기 때문에 "안녕하세요"로그인 것처럼, 나는 그것을 해제 방법을 알고 있지만, 덕분에

function message(text) { 
       messages = ['Hello', 'hello', 'Hi', 'hi']; 
       responses = ['Hi', 'Hi', 'Hello', 'Hello']; 
       msgKnown = jQuery.inArray(text, arr); 
       if (!msgKnown) { 
        console.log("I didn't quite catch that"); 
       } 
       else { 
        console.log(msgKnown); 
       } 
      } 

답변

1

너는 그렇게하지 않았다. 그게에게 3 일을 할 것이기 때문에 그들은 (..는 0에서 시작 기억) @badAdviceGuy

JSFIDDLE 덕분에 나는 이것이 당신이 찾고있는 무슨 생각이의 인덱스를 할 것이다 ..

function message(text) { 
    messages = ['Hello', 'hello', 'Hi', 'hi']; 
    responses = ['Hi', 'Hi', 'Hello', 'Hello']; 
    msgKnown = jQuery.inArray(text, messages); // <----- I modified this 
    if (!msgKnown) { 
     console.log("I didn't quite catch that"); 
    } 
    else { 
     console.log(responses[msgKnown]); // <---- I modified this 
    } 
} 

message("Hi"); // will output "Hello" 
+1

것은 그것에 나를 이길 여기에 작업이 솔루션을 [http://jsfiddle.net/GGvz2/](http://jsfiddle.net/GGvz2/) 전시 바이올린입니다. @ Sam, 당신은'messages' 대신에'arr' 배열을 호출하고있었습니다. – badAdviceGuy

+0

Thanks @badAdviceGuy 제 답변에 jsfiddle을 추가하겠습니다. –

+0

작동하지 않습니다. 내가 알지 못하는 것보다 undefined가 있습니다. – Sam

관련 문제