识别两个文本中的单词(如果for循环中的语句)

时间:2015-03-11 11:08:16

标签: javascript if-statement for-loop

这是我第一次发帖提问。我对编程很新,而且对javascript很新。我已经搜索了线程以解决我的问题,但我仍然无法弄明白。我有一个受另一个文本(text1)影响很大的文本(text2)。我在text1中有一个所有单词的数组,我想循环遍历该数组,如果单词在两个文本中,我想以不同的颜色在我的网页上显示它。

这就是我所拥有的:

var text1 = ["جهيم"، "سجين"، "الكتاب"];         
var text2 = ["الله قد انزل الكتاب فيه تبيان كل شئ رحمة وبشرى على الحق بالحق على العالمين جميعا"]        

for (i = 0; i < text1.length; i++) {            
   if (i in text2) {                
      document.write("<span class="color">"+ text2[i]+"</span>");           
   }
}

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:1)

试试这个,

for (i = 0; i < text1.length; i++) {            
   if (text2.indexOf(text1[i]) > -1) {                
      document.write("<span class="color">"+ text1[i]+"</span>");           
   }
}

答案 1 :(得分:0)

您可以使用Array.indexOf检查text2[j]是否包含text1[i],此处请注意您有两个不同的索引,因为您有两个不同的数组

var text1 = ["جهيم", "سجين", "الكتاب"];
var text2 = ["الله قد انزل الكتاب فيه تبيان كل شئ رحمة وبشرى على الحق بالحق على العالمين جميعا"];

for (var i = 0; i < text1.length; i++) {
    for (var j = 0; j < text2.length; j++) {
       if (text2[j].indexOf(text1[i]) > -1) {                
          document.write("<span class='color'>"+ text2[j]+"</span>");
       }
    }
}

请参阅jsbin

答案 2 :(得分:0)

使用jquery $ inArray:

 for (i=0; i< text1.length; i++){
      if($.inArray(text1[i], text2)!=-1){
        document.write("<span class="color">"+ text1[i]+"</span>"); 
      }   
 }

答案 3 :(得分:0)

您可以使用 split() replace() 方法执行此操作,而不需要为{{1}中的字词使用任何数组},text1text1应为字符串:

text2

var text1 = "جهيم سجين الكتاب"; var text2 = "الله قد انزل الكتاب فيه تبيان كل شئ رحمة وبشرى على الحق بالحق على العالمين جميعا"; for (var word in text2.split(" ")){ if(text1.includes(word)){ text2.replace(word, "<span class=\"color\">"+word+"</span>"); } } 中,您会在text2text1中找到单词。

修改

如果您想将text2用作数组:

text1

因为在Javascript中字符串数组都有var text1 = ["جهيم"، "سجين"، "الكتاب"]; for (var word in text2.split(" ")){ if(text1.includes(word)){ text2.replace(word, "<span class=\"color\">"+word+"</span>"); } } 方法。