我要作出這樣的工作原理是這樣的函數:的Javascript搜索一個數組的值,並獲得其關鍵
function arraySearch(array, valuetosearchfor)
{
// some code
}
如果發現數組中的值,它會返回鍵,在那裏發現價值。如果有多個結果(多於一個鍵)或根本沒有結果(找不到任何結果),則該函數將返回FALSE。
我發現這個代碼:
function arraySearch(arr,val)
{
for (var i=0; i<arr.length; i++)
{
if (arr[i] == val)
{
return i;
}
else
{
return false;
}
}
}
,並用它這樣的:
var resultofarraycheck = arraySearch(board, chosen);
if (resultofarraycheck === false)
{
document.getElementById(buttonid).value;
chosen = 0;
}
但它似乎並沒有工作。 當它應該找到某個東西時,它將返回false而不是密鑰(i)。
我該如何解決這個問題,或者我做錯了什麼?
謝謝,如果我的英語不夠清楚,我很抱歉。
移動'回報FALSE'爲* *後的'for'循環。 (並考慮處理具有多個相同結果的情況。) – DCoder
[Iqbal Djulfri的答案](http://stackoverflow.com/a/13109873/1233508)是唯一一個實際滿足您有關重複密鑰的要求的人。 – DCoder