所以我正在尝试创建一个基于searchTerm搜索数组的函数。如果数组中的元素包含searchTerm,它应该在MyArray [];中输出 ALL 索引。
我希望我已经提前解释清楚了。
答案 0 :(得分:1)
以下是更正后的版本:
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
声明为局部变量,因此它是一个隐式全局变量。答案 1 :(得分:0)
myArray = colours[i]
不会附加到数组中。
myArray.push(a);