2017-02-16 4 views
0

나는 사용자 입력에서 얻은 문자열을 가지고 있고 그 입력이 특정 배열에 있는지 확인하고 싶지만 시스템에 로그인 할 필요가있다.배열의 값에 대해 문자열을 일치시키는 것

내가 지금까지 가지고 무엇 :

var name = $(".input").value(); 
var options = ["option_one", "option_two", "three"]; 
$(".submit").click(function() { 

for(i=0; i < options.lenght; i++){ 
    if(options[i] == name){ 
     alert("true") 
    }else{ 
     alert("false") 
     } 
} 


}); 

이 사람이 나를 도울 수 있습니까?

EDIT : CodePen

답변

1

더 간단 방법 - .includes() 기능을 사용하십시오.

var name = $(".input").val(); 
 
var options = ["option_one", "option_two", "three"]; 
 

 
console.log(options.includes(name) ? 'valid!' : 'invalid!');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class='input' value='three'>

+0

http://codepen.io/anon/pen/JEVBgN

는 항상 false 경고 : C – Miguel

+0

다시 한번 확인 @Miguel. '3'을 입력하고 버튼을 클릭하십시오. –

+0

변수가 작동하려면 로컬 변수 여야 했습니까? – Miguel

2

본 추천 indexOf을 사용할 수

if(options.indexOf(name) != -1){ 
    alert("valid") 
}else{ 
    alert("false"); 
} 

indexOf 인덱스를 반환 (> = 0) 요소가 발견 된 배열에서, 그렇지 않으면 -1.