2015-07-11 71 views
-2

我正在学习JavaScript,并且遇到了这个问题。我希望使用document.formName.elementName.value来捕捉输入值,并将该值与Array对象的实例进行比较。如果该值存在,则会引发警报!如何搜索JavaScript数组中的值?

回答

1

您可以使用indexOf()函数,你只需做到这一点: array.indexOf("string") 它将返回-1,如果没有找到该项目,否则只是位置。 这是链接W3Schools

0

我认为,已经被问的数千次:

if(myFancyArray.indexOf(document.formName.elementName.value) !== -1){ 
    alert("You did something wrong!"); 
} 

当心如IE浏览器的旧版本不知道indexOf。 (但谁需要IE?)

0

使用indexOf

function search(arr,obj) { 
    return (arr.indexOf(obj) != -1); 
} 

测试用例:

search(["a","b"], "a"); // true 
search(["a","b"], "c"); //false 
0

您可以添加一个便捷方法JavaScript的阵列

Array.prototype.includes = function(element) { 
    var found = false; 
    for (var i = 0; i < this.length; i++) { 
     if (this[i] == element) { 
      found = true; 
     } 
    } 
    return found; 
} 

,然后,你可以用下面的代码来获得一些语法糖

var myArray = [0,1,"hello","world"]; 

console.log(myArray.includes("hello")); //prints true 
console.log(myArray.includes(10)); //prints false