erlakhvir Ответов: 2

Сравните две строки в js и найдите разницу


how to compare two strings purely, and provide specific result such as highlight extra word, wrong word & skip word in 2nd string. for eg.

var x = "This is the first original string in javascript language." </br>
var y = "This is not the first org string in language."

diff =  wrong word ="org"<br>
        Extra word ="not"<br>
        skip word ="javascript"




<pre> <script lang="Javascript">
//here is slice of my code but in some case my program fails
  var x = "here is some value of string";
  var y = "here is the some val string";
  var k=0; 
  var SkipWrd="";
 for(var i=0; i<y.length;i++){ 
    var sktmp="";
    var swtmp=0;
     for(var j=0; j<=2;j++) { 
         if(x[k]!="undefined"){ 
             if(y[i]==x[k+j]){  

                 SkipWrd+=sktmp;
                 skip+=swtmp;
                 H_wrd +=  typ_wrd[i]+" ";
                 org_para+= sktmp+x[k+j]+" ";

                 k+=j+1;
                 break;
             }
            else{
             sktmp+= "<mark>"+ x[k+j]+" "+ "</mark>";
             swtmp++; 
             if(j==2 && y[i]!=x[k+j]){
                 err++;
                 Err_Wrd+=y[i]+" ";
                 H_wrd += "<span id='H-Err'>" + typ_wrd[i] + "</span> ";
                 org_para+="<span id='O-Err'>" +x[k]+" "+ "</span> ";

                 k++;
             }
            }
        } 
     }
 }


Что я уже пробовал:

если лишнее слово включено во 2-ю строку, то остальная строка считается неправильным словом.

2 Ответов

Рейтинг:
0

Amine Touahria

Вы можете взять строку с меньшим количеством карактеров, разбить ее на таблицу слов.
После этого вы проходите по таблице и для каждого слова проверяете, существует ли оно в другой фразе, это индекс ...


Рейтинг:
0

Patrice T

Цитата:
если лишнее слово включено во 2-ю строку, то остальная строка считается неправильным словом.

Я думаю, что ваш алгоритм слишком упрощен.
Я вижу эту проблему так: задача оптимизации, в которой требуется минимизировать количество изменений- и обращение с ними гораздо сложнее , чем то, что вы сделали.
Отладчик покажет, что делает ваш код, он должен помочь вам понять, где он идет не так.
-----
Ваш код ведет себя не так, как вы ожидаете, и вы не понимаете, почему !

Существует почти универсальное решение: запускайте свой код на отладчике шаг за шагом, проверяйте переменные.
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не знает, что вы должны делать, он не находит ошибок, он просто помогает вам, показывая, что происходит. Когда код не делает того, что ожидается, вы близки к ошибке.
Чтобы увидеть, что делает ваш код: просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.
Отладчик - Википедия, свободная энциклопедия[^]
Отладка JavaScript[^]
Хром Инструменты Разработчика  |  Сеть  |  Разработчики Google[^]
Отладчик здесь только для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.