0

我是 JavaScript 新手,正在阅读 www.codeacademy.com 上的教程。我正在尝试将字符串推送到新数组中,但是当我运行代码时出现错误

“糟糕,再试一次!看起来您的第二个 'for' 循环没有将值推送到 hits 数组。确保它工作正常并且 myWord 文本出现在 text 变量中的某处。”

我查看了代码,但不知道故障在哪里?

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'

        }
    }
}

任何想法如何让它发挥作用?

4

2 回答 2

2

hits您在每次迭代时重置。

hits = []在你的循环中删除。

于 2013-10-04T14:40:02.840 回答
0

您的第二次循环迭代正在进行非法比较j < someText[i] + myWord.length;someText[i]从混合物中删除它,它会起作用:j < myWord.length

于 2013-10-04T15:10:04.330 回答