我正在尝试自学javascript。我选择了一些我认为很简单的东西,但很快就遇到了问题。
我正在尝试在一个字符串中搜索用户给出的另一个字符串。
到目前为止,我的代码是:
var source = "XREs2qqAQfjr6NZs6H5wkZdOES5mikexRkOPsj6grQiYNZfFoqXI4Nnc1iONKVrA";
var searchString = []; //the users input
searchString = prompt("Enter search string");
var hits = [];
var one = 0;
var two = 0;
var k = 0;
var sourceSearch = function(text) {
for(i = 0; i < source.length; i++) { //for each character in the source
if(source[i] === searchString[0]) { //if a character in source matches the first element in the users input
one = source.indexOf(i); //confused from here on
for(p = searchString.length; p > 0; p--) {
}
}
}
};
sourceSearch(searchString);
我的想法是:
- 检查第一个循环是否找到与用户输入中的第一个字符匹配的字符
- 如果匹配,则检查第一个字符之后的下一个 X 字符是否与源字符串中的下一个 X 字符匹配
- 如果它们都匹配,则将它们推送到 hits 数组
我的问题:我不知道如何在不嵌套很多 if 语句的情况下遍历数组,即使这样,考虑到我希望程序可以处理任何输入,这也是不够的。
任何想法都会有所帮助。首先十分感谢。
注意:我正在测试的想法中有一些未使用的变量,但我无法使它们起作用。