Javascript.RU

PHP-функция: levenshtein

Javascript:

function levenshtein( str1, str2 ) {	// Calculate Levenshtein distance between two strings
	// 
	// +   original by: Carlos R. L. Rodrigues

	var s, l = (s = str1.split("")).length, t = (str2 = str2.split("")).length, i, j, m, n;
	if(!(l || t)) return Math.max(l, t);
	for(var a = [], i = l + 1; i; a[--i] = [i]);
	for(i = t + 1; a[0][--i] = i;);
	for(i = -1, m = s.length; ++i < m;){
		for(j = -1, n = str2.length; ++j < n;){
			a[(i *= 1) + 1][(j *= 1) + 1] = Math.min(a[i][j + 1] + 1, a[i + 1][j] + 1, a[i][j] + (s[i] != str2[j]));
		}
	}
	return a[l][t];
}

Примеры:

levenshtein('Kevin van Zonneveld', 'Kevin van Sommeveld');
3


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
3 + 14 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum