为什么我的 while 循环没有完全迭代
Why is my while loop not iterating through completely?
所以这是我下面的代码,这个程序的目标是检查是否可以在第一个字符串中找到第二个字符串的字母。然而,我发现问题并非如此,价值增加。所以循环只经过一次。因此,该程序在它找到并返回 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;
}
function mutation(arr) {
var base = arr[0],
str = arr[1].toLowerCase().split(''),
i = 0,
match = true;
while (i < str.length) {
// if any target letter is not in base, return false
if(base.indexOf(str[i]) === -1){
return false;
}
}
// otherwise they were all in, so return true
return true;
}
mutation(["hello", "hey"]);
完全不同的技术。
此函数将第二个字符串中的所有字母替换为空格。 如果长度为零,则找到所有字母。
function mutation(arr) {
return arr[1].replace(new RegExp("[" + arr[0] + "]", "g"), "").length == 0;
}
相关文章:
- 什么's是在javascript中迭代项的最佳方式
- 为什么这只是迭代 HTMLCollection 的奇怪元素
- 如何处理javascript中的循环引用,类似于Excel提供迭代限制的方式
- 在数组中迭代时的JS循环位置
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- 迭代器和可迭代之间的区别
- foreach循环每次迭代之间的延迟
- 使用Javascript迭代同级的最快方法是什么
- 如何迭代无序的JSON数据并排序为数组
- 异步mongodb更新循环中最后一次迭代后的重定向
- 在对象上迭代'的属性
- 迭代Promise迭代器的非递归方法
- 迭代我的对象对象的问题
- 迭代中的异步函数 - javascript
- 对于下一次迭代之前的循环延迟
- 用于迭代对象的 for 循环
- 迭代结果的总和
- 我如何在javascript中迭代创建的对象
- 为什么不'我的php代码是否使用复选框信息来迭代我的开关
- 我如何克隆一个对象并在其中一个对象上迭代'的属性