难以从由字符串组成的现有数组输出索引数组

Difficulty outputting an array of indexes from an existing array consisting of strings

本文关键字:数组 输出 索引 字符串      更新时间:2023-09-26

所以我试图创建一个基于searchTerm的数组搜索的函数。如果数组中的元素包含searchTerm,它应该输出所有 MyArray[];内的索引。

我希望我已经解释清楚了,谢谢。

更正后的版本:

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/.

我必须解决很多问题:

  1. 你没有正确地向myArray添加结果
  2. 你没有给myArray添加索引
  3. 您没有正确测试.indexOf()的结果(当不匹配时返回-1)。
  4. 您正在迭代搜索短语的长度,而不是数组中的项数。
  5. 您没有将i声明为局部变量,因此它是隐式全局变量。

myArray = colours[i]不追加到数组中。

myArray.push(a);