У меня есть некоторые проблемы с моей функцией сравнения "jQuery". Его миссия - сравнить две текстовые области и выделить различия.
например. "Меня зовут Майкл" в одной текстовой области, и "Меня зовут Мишель" в другом.
Моя функция возвращает оба входа и выделяет char "a" с первого входа и выделяет отсутствующий char со второго.
Так выглядит функция до сих пор, но она не работает в 100% случаев.
$(function () {
$('#btnCompare').on('click', function () {
compare();
});
function compare() {
$('#divColLeft').empty();
$('#divColRight').empty();
var textOne = $('#taOneComp').val();
var textTwo = $('#taTwoComp').val();
var output;
var outputX;
var arrTextOne = [];
var arrTextTwo = [];
for (var i = 0; i < textOne.length; i++) {
output = textOne.charAt(i);
arrTextOne.push(output);
}
for (var x = 0; x < textTwo.length; x++) {
outputX = textTwo.charAt(x);
arrTextTwo.push(outputX);
}
$.each(arrTextOne, function (y, e) {
if ($.inArray(e, arrTextTwo) == -1) {
$('#divColLeft').append(e);
$('#divColLeft').highlight(e);
} else {
$('#divColLeft').append(arrTextOne[y]);
}
});
$.each(arrTextTwo, function (z, f) {
if ($.inArray(f, arrTextOne) == -1) {
$('#divColRight').append(f);
$('#divColRight').highlight(f);
} else {
$('#divColRight').append(arrTextTwo[z]);
}
});
}
});
Обновление: чтобы быть более точным и улучшить исходный вопрос
Если какой-либо из них включает char "a" перед любым из двух текстов, это различие, которое должно быть выделено. В первом тексте "a" следует выделить, во втором тексте я хочу ввести пустое пространство, выделяющее разницу (отсутствует char).