我正在运行以下代码来获取显示单词 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' ]
根据我的理解,代码应该返回一条消息Your name was not found!.
相反,它仍在处理字母l之后的字符并将其作为输出返回。
如何以更好的方式优化我的代码,以确保仅搜索字符串Eric中的字符并将其作为输出返回,而任何其他字符都将被拒绝?