次のアルゴリズム上の問題のコードを記述し、それがなぜ機能しないのかわかりません。デバッガに続いて、私はelem変数が 's'を越えることはありません。私は、親のループから抜け出す方法を私が理解しているためにこれが起こりうると懸念しています。私は この質問を読む:Best way to break from nested loops in Javascript?しかし、おそらく私は何か間違っているかどうかはわかりません。JSネストされたforループの中断
function firstNonRepeatingLetter(s) {
//input string
//return first character that doesn't repeat anywhere else.
//parent for loop points to the char we are analyzing
//child for loop iterates over the remainder of the string
//if child for loop doesnt find a repeat, return the char, else break out of the child for loop and cont
if (s.length == 1) { return s;}
parent_loop:
for (var i = 0; i < s.length - 1; i++){ //parent loop
var elem = s[i];
child_loop:
for (var j = i + 1; j < s.length; j++){
if (elem == s[j]){
break child_loop;
}
}
return s[i];
}
return "";
}
console.log(firstNonRepeatingLetter('stress')); // should output t, getting s.