2016-10-02 95 views
-4

我有這樣的代碼在JavaScript匹配的indexOf數組元素

var array = [ 
    'apples', 
    'eggs' 
]; 

var search = prompt('Write one from this words ' + array.join(" ")); 

console.log(search); 

if (array.indexOf(search) === search) { 
    alert("Yep"); 
} 

如果用戶寫入的蘋果或雞蛋應該顯示警報,但它不會做任何事情?爲什麼?

+5

當你想到的東西不工作,檢查方法或函數的文檔;這會清楚地說明[Array.prototype.indexOf()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)返回的內容,因此爲什麼它「*什麼都不做」*「 –

+0

您可能正在尋找'if(array.includes(search))' – Bergi

回答

1

它應該是:

if (array.indexOf(search) >= 0) { 
    alert("Yep"); 
} 

indexOf,如果該項目已發現將返回指數。如果找不到該項目,它將返回-1

MDN docs

+0

@ZcelaAnonymní如果它解決了您的問題,請將此答案標記爲已接受 – Julian