所以这是我下面的代码,这个程序的目标是检查是否可以在第一个字符串中找到第二个字符串的字母。但是我发现我不是问题,它的值(value)在增加。所以循环只经过一次。所以这个程序在它找到并返回 true 的第一个字母处结束。我如何让 i 增加以便遍历字符串的每个字符?
function mutation(arr) {
var str = arr[1];
str = str.toLowerCase().split("");
var i = 0;
while (i < arr.length) {
if (arr[0].indexOf(str[i]) > -1) {
//return arr[i].indexOf(str[i], i);
return true;
} else {
return false;
}
i++;
}
}
mutation(["hello", "hey"]);
最佳答案
这可能是?
function mutation(arr) {
var str = arr[1];
str = str.toLowerCase().split("");
// iterating an array screams "for loop"
for (var i=0; i < str.length; i++) {
// if the letter was not found exit immediately
if (arr[0].indexOf(str[i]) == -1) return false;
}
// since it didn't exit before, all the letters must have been found.
return true;
}
关于javascript - 为什么我的 while 循环没有完全迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35929674/