function myFunc(str,x){
for(i=0; i<str.length; i++){
if (str.indexOf(x)===i){
console.log(str.indexOf(x));
break
}else {
console.log("character not found")
}
}
}
myFunc("abcdefg","e");
我想编写一个javascript函数,接受一个字符串和一个字符作为输入并迭代该字符串,并打印出第一次出现的指定字符的位置,如果找不到该字符,则控制台记录该字符找不到。 我写的上面的代码确实打印了位置,但仍打印出#34;未找到的字符&#34;对于#34; e&#34;之前的角色。我怎么修改它?谢谢
答案 0 :(得分:0)
您需要从循环中移出console.log()
。
在找到一个字母并将console.log
放在该循环之后,另一种方法是返回。
function myFunc(str, x) {
for (i = 0; i < str.length; i++) {
if (str.indexOf(x) === i) {
console.log(str.indexOf(x));
return;
}
}
console.log("character not found")
}
myFunc("abcdefg", "e");
myFunc("abcdefg", "h");
&#13;