我不确定我在这里做错了什么。我使用 indexOf 的第一个实例工作得很好,但是当我第二次使用它时,它没有返回我期望的结果。
function mutation(arr) {
//return arr;
res = "";
for (var x=0; x<arr[1].split("").length; x++) {
if (arr[0].indexOf(arr[1].split("")[x]) !== -1) {
res += "t";
} else {
res += "f";
}
}
// res = ttt
if (res.indexOf("f") !== -1) {
return true;
} else {
return false;
}
}
mutation(["hello", "hey"]);
// this returns true instead of false
mutation(["floor", "loo"]);
// returns false instead of true
如果 array[1] 中的元素不存在于 arr[0] 中,则突变应返回 false,否则返回 true。
你的代码不起作用,因为当你说:
res.indexOf("f") != -1
这意味着:“我找到了一个 f”,但你将其视为“我没有找到一个 f”。
在您的情况下,如果您找到“f”,您想返回 false,但您正在返回 true。翻转你的真假案例:
if (res.indexOf("f") != -1) {
return false;
} else {
return true;
}
另外,您的 for 循环是错误的,因为 x 从 0 开始,因此您需要转到
for (var x=0; x < arr[1].split("").length; x++) {
现在你的代码可以按照你想要的方式工作了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)