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

Identifying words in two texts (if statement in for loop)

本文关键字:语句 if for 循环 单词 两个 文本 识别      更新时间:2023-09-26

这是我第一次发布问题。我对编程相当陌生,对javascript也很陌生。我已经在线程中搜索了我的问题的解决方案,但我仍然无法弄清楚。我有一个文本(文本2)受到另一个文本(文本1)的严重影响。我在 text1 中有一个包含所有单词的数组,我想遍历该数组,如果单词在两个文本中,我想在我的网页上以不同的颜色显示它。

这是我所拥有的:

var text1 = ["جهيم"، "سجين"، "الكتاب"];         
var text2 = ["الله قد انزل الكتاب فيه تبيان كل شئ رحمة وبشرى على الحق بالحق على العالمين جميعا"]        
for (i = 0; i < text1.length; i++) {            
   if (i in text2) {                
      document.write("<span class="color">"+ text2[i]+"</span>");           
   }
}

任何帮助将不胜感激。

试试这个,

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

使用 jquery $inArray:

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

您可以使用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

您可以使用

split()replace()方法进行操作,而无需对text1中的单词使用任何数组,并且text1text2应该是字符串:

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

text2中,您将看到text1text2颜色的单词。

编辑:

如果你想将text1用作数组:

var text1 = ["جهيم"، "سجين"، "الكتاب"]; 
for (var word in text2.split(" ")){
     if(text1.includes(word)){
         text2.replace(word, "<span class='"color'">"+word+"</span>");   
     }
}

因为在Javascript中,字符串数组都有includes()方法。