所以我試圖創建一個函數,通過基於searchTerm的數組搜索。如果數組中的元素具有searchTerm,則它應該輸出ALL內部的MyArray [] ;.難度從包含字符串的現有數組中輸出索引數組
我希望我已經解釋清楚,在此先感謝。
所以我試圖創建一個函數,通過基於searchTerm的數組搜索。如果數組中的元素具有searchTerm,則它應該輸出ALL內部的MyArray [] ;.難度從包含字符串的現有數組中輸出索引數組
我希望我已經解釋清楚,在此先感謝。
myArray = colours[i]
不附加到數組。
myArray.push(a);
這裏有一個修正版本:
var colours = ["I like the colour red", "I hate the colour yellow", "I love the colour blue"];
function myFunction(colours, searchTerm) {
var myArray = [];
searchTerm = searchTerm.toLowerCase();
for (var i = 0; i < colours.length; i++) {
if (colours[i].toLowerCase().indexOf(searchTerm) >= 0) {
myArray.push(i);
}
}
return myArray;
}
alert(myFunction(colours,"colour")) //Should return indexes 0,1,2 in myArray
和工作演示在這裏:http://jsfiddle.net/jfriend00/GDM9R/。
我不得不修復了很多問題:
.indexOf()
的結果(它在不匹配時返回-1)。i
聲明爲局部變量,因此它是隱式全局變量。謝謝。這可以不用'push()'工作嗎? –
'.push()'是如何將項添加到數組的末尾。你爲什麼要避免這種情況?請參閱[這裏爲文檔](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/push)。 – jfriend00
對不起,我只是好奇,看看是否有另一種方式來做到這一點。謝謝你告訴我我哪裏出錯了。現在我可以從我犯的錯誤中學習。謝謝 –
因爲我在這裏看到你很新,你是否意識到在StackOverflow上適當的禮儀是當/如果一個答案回答你的問題,你應該將它標記爲「答案」所選答案的左上角?這就是幫助人們提供更好的資源的過程,也是人們提供答案的激勵過程的一部分。 – jfriend00