我试图建立一种登录系统,而我有一个字符串可以从用户输入获得,我想检查输入是否在特定的数组中......
到目前为止我得到了什么:
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")
}
}
});
任何人都可以帮助我吗?
编辑:CodePen
答案 0 :(得分:2)
您可以像这样使用indexOf:
if(options.indexOf(name) != -1){
alert("valid")
}else{
alert("false");
}
indexOf
将从找到元素的数组返回索引(&gt; = 0),否则返回-1。
答案 1 :(得分:1)
使用javscript Array.prototype.some()
函数:
var name = $(".input").value();
var options = ["option_one", "option_two", "three"];
if(options.some(el){
return el == name;
}){
alert("valid")
}else{
alert("false");
}
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some
答案 2 :(得分:1)
更简单的方法 - 使用.includes()
函数。
http://codepen.io/anon/pen/JEVBgN
var name = $(".input").val();
var options = ["option_one", "option_two", "three"];
console.log(options.includes(name) ? 'valid!' : 'invalid!');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class='input' value='three'>
&#13;