次のコードを実行して、Eric という単語のアルファベットを表示する関連出力を取得しました。
/*jshint multistr:true */
text = "My name is Eric. Eric lives in New York";
var myName = "Eric";
var hits = [];
for (var i=0; i < text.length; i++) {
if (text[i] == "E" ) {
for (var j=i; j < (myName.length + i); j++) {
hits.push(text[j]);
}
}
}
if (hits.length === 0) {
console.log("Your name wasn't found!");
} else {
console.log(hits);
}
[ 'E', 'r', 'i', 'c', 'E', 'r', 'i', 'c' ]という目的の出力を得ることができます
ただし、コードの 8 行目 に「l」を入力すると、次の出力が得られます: [ 'l', 'i', 'v', 'e', 's', ' ', 'i' ]
私の理解では、コードは「あなたの名前が見つかりませんでした!」というメッセージを返すはずです。.
代わりに、文字lの後の文字を処理し、それを出力として返します。
文字列Eric内の文字のみが検索され、出力として返され、他の文字は拒否されるように、コードをより適切に改良するにはどうすればよいですか?