2015-07-11 67 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