[英]Matching a string against values of array
我正在嘗試制作一種登錄系統,而我要從用戶輸入中獲取一個字符串,我想檢查該輸入是否在特定數組中……
我到目前為止所得到的:
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
您可以這樣使用indexOf :
if(options.indexOf(name) != -1){
alert("valid")
}else{
alert("false");
}
indexOf
將從找到元素的數組中返回索引(> = 0),否則返回-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/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/some
Simplier方法-使用.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!');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input class='input' value='three'>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.