我是JavaScript的新手,正在www.codeacademy.com上阅读这些教程。我试图将一个字符串推入一个新的数组,但是当我运行代码时,我收到一个错误 说
“哎呀,再试一次!看起来你的第二个'for'循环没有将值推到命中数组。确保它正常工作,myWord文本出现在文本变量的某个地方。 “ 的
我查看了代码,但不知道故障在哪里?
var someText = "This is some text and i am trying to push this text into a new string containing the string text.";
var myWord = "text";
var hits = [];
for (var i = 0; i < someText.length; i++) {
if (someText[i] === myWord[0]) {
for (var j = i; j < someText[i] + myWord.length; j++) {
hits = [];
hits.push("text");
hits[0]; //equals 'text'
}
}
}
任何想法如何使其发挥作用?
答案 0 :(得分:2)
您在每次迭代时重置hits
。
删除循环中的hits = []
。
答案 1 :(得分:0)
您的第二次循环迭代正在进行非法比较j < someText[i] + myWord.length;
。从混合中移除someText[i]
,它将起作用:j < myWord.length