如何将文本推入数组? (JavaScript)的

时间:2016-12-15 02:44:08

标签: javascript

这是CodeAcademy javascript课程。我有点坚持这个,不知道如何继续。

我需要能够搜索名称" Alex"在"文本"变量。然后我需要第二个For循环将字母推入"命中"阵列。

     /*jshint multistr:true */
 var text = "My name is Alex. What is yours? Again, my name is Alex";
 var myName = "Alex";
 var hits = [];

 for(var i = 0; i < text.length; i++ ){

 if(i === text["A"]){


 for(var j = i;  i + myName.length; i++){

    hits.push("Alex");}

 }


   }

1 个答案:

答案 0 :(得分:0)

您正在一次一个字母地迭代整个text字符串。 i数字if(i === text["A"]){不应与"A"匹配。 text["A"]未获得text字符串的索引。使用text[i] === "A"。第二个循环i + myName.length没有条件;替换j < i + myName.length。如果您只匹配“A”,如果您没有breakfor循环,您也会在“再次”匹配“A”。

请注意,目前,我们不会检查"A"的第一个匹配项后跟"lex"后跟空格" "字符。

您也可以使用.split().match()获取text中所有字词的数组,迭代字词,检查myName的匹配。

var text = "My name is Alex. What is yours? Again, my name is Alex";
var myName = "Alex";
var hits = [];

outer: for (var i = 0; i < text.length; i++) {
  if (text[i] === "A") {   
    for (var j = i; j < i + myName.length; j++) {
      hits.push(text[j]);
    }
    break outer;
  }
}

console.log(hits);