Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   сравнение блоков текста (https://javascript.ru/forum/misc/28825-sravnenie-blokov-teksta.html)

codingfighter 04.06.2012 12:28

сравнение блоков текста
 
Всем привет. Думаю над следующей задачей. Есть 2 переменные с текстом. Длина текста - например 1000 символов. кроме md5 какие еще посоветуете способы?

beard 04.06.2012 12:33

Цитата:

Сообщение от codingfighter
md5

зачем здесь md5?

уточните задачу, сейчас
if(переменная1 == переменная2)

codingfighter 04.06.2012 12:36

просто я не совсем уверен корректно ли сравнивать такие объемные переменные. А так я думал перевести в md5 и потом сравнить. думаете извращенство? :)

beard 04.06.2012 12:57

Цитата:

Сообщение от codingfighter
просто я не совсем уверен корректно ли сравнивать такие объемные переменные. А так я думал перевести в md5 и потом сравнить. думаете извращенство?

Все нужно использовать по назначению, если в яваскрипте есть возможность сравнить две строки нативным правильным способом зачем искать еще какие то варианты.

Тем более md5 обычно используют для других целей + он не реализован нативно в яваскрипт нужно подключать отдельно(

Цитата:

Сообщение от beard
уточните задачу, сейчас
if(переменная1 == переменная2)

поправка if(переменная1 === переменная2)

Deff 04.06.2012 12:59

codingfighter,
Типовые проблемы сравнения текстовых документов(если это не один и тот же файл, а лишь возможная копия из топика, к примеру) - это наличие разных пробелов табуляций и перевода строк
Собственно и тогда beard, -прав - ток перед сравнением стоит
удалить все разделители и сравнивать,
Иногда, для скорости достаточно разбить на массив по разделителю и выбрать-сравнить длины массивов и несколько элементов с краёв и из центра
Прим.Обычно перед началом сравнения - пробелы с начала и конца документа - убираем
1000 символов - это не та длина, где стоит переживать, выше приведенные соображения были для многостраничных доков...
Обычно до 64/32 килобайт о не типовых методах не озадачиваются

B@rmaley.e><e 04.06.2012 14:55

Цитата:

Сообщение от codingfighter
просто я не совсем уверен корректно ли сравнивать такие объемные переменные. А так я думал перевести в md5 и потом сравнить. думаете извращенство?

А md5 Вы посчитаете быстрее?

Джэксон 05.06.2012 11:15

А если не секрет зачем вам? И можете ли вы привести пример вашего кода?

beard 05.06.2012 11:52

А у кого реально была такая задача? Зачем это делать? Я сколько помню ни разу не сравнивал два предложения или абзаца для реальной таски.

9xakep 05.06.2012 14:28

Сранивайте, только предварительно сделайте это:
var str = 'тут ваш текст'
str = str.replace(/\n/,gm,'').replace(/\s+/g/,'')

Deff 05.06.2012 14:42

9xakep,
Текст обычно многостроковый, уж 1000 символов вряд ли в одной строке


Часовой пояс GMT +3, время: 05:19.