Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 28.12.2013, 23:46
Интересующийся
Отправить личное сообщение для finestra Посмотреть профиль Найти все сообщения от finestra
 
Регистрация: 28.02.2013
Сообщений: 13

как насчет этого
var coefficient = function(word1, word2) {
	word1 = word1.toLowerCase();
	word2 = word2.toLowerCase();
	var r = new RegExp(word1);
	
	if(r.test(word2)) {
		return  Math.round((word1.length / word2.length)*10)/10;
	} else {
		return 0;
	}
};
var coeff1 = coefficient("keyword", "keywords"), // 0.9
    coeff2 = coefficient("keyFord", "keywords"); // 0


coeff2 должен быть 0?

Последний раз редактировалось finestra, 29.12.2013 в 13:11.
Ответить с цитированием
  #22 (permalink)  
Старый 30.12.2013, 21:46
Интересующийся
Отправить личное сообщение для MrBoriska Посмотреть профиль Найти все сообщения от MrBoriska
 
Регистрация: 25.12.2013
Сообщений: 12

Желательно доработать тот код, т.к. я уже из того плагин сделал и куча всего на него завязал.

Тоесть код вот такой теперь.

function gen(str,tabu,len,repeat,tags,tabuhide) { 
     var str, // Получаем текст из которого нужно выделить теги
          tabu = tabuhide + tabu.val(), // Получаем слова-исключения
          len = parseInt(len.val()), // Минимальная длинна тега
	      repeat = parseInt(repeat.val()), // Минимальное количество его повторений
	      tags, output = '';

     var  tabu = tabu.split(/\s*,\s*/), obj_tabu = {};
     for (var i=0; i<tabu.length; i++)  {obj_tabu[tabu[i]]=!0}; //сформировали обьект из запретных слов
     str = str.replace(/<[^>]*>/g, ' '); //выкусили теги
     str = str.replace(/[^a-zа-яё\s]/gi, ' '); //убрали небуквы
     str = str.split(/\s+/); //сформировали массив слов из строки
	 
     var obj_output = {};
     for (var i=0; i<str.length; i++)  {
       var word = str[i];
       if(word.length >= len && !obj_tabu[word])  obj_output[word]=(obj_output[word]||0)+1; // сформировали обьект из разрешённых слов и нужной длины
	 } 
	 
     var output1 = [];
     for(var word in obj_output) if (obj_output[word] >= repeat) output1.push(word); //отобрали слова с нужным повторением 
	 for (var i=0; i<output1.length; i++) if (i<1) output += output1[i]; else output += ', ' + output1[i]; // создали строку из элементов массива через запятую
	 
     return tags.val(output);
}



В общем нужно добавить в функцию еще один аргумент, не трогая положения старых, с коэффициентом совпадения и завязать сам процесс поиска совпадений еще и на нем. Более ничего не надо. Я бы и сам сделал, но в обьектах не шарю вообще.
Ответить с цитированием
  #23 (permalink)  
Старый 30.12.2013, 21:48
Интересующийся
Отправить личное сообщение для MrBoriska Посмотреть профиль Найти все сообщения от MrBoriska
 
Регистрация: 25.12.2013
Сообщений: 12

правда строку из массива лучше создать join'ом) но это не суть.
Ответить с цитированием
  #24 (permalink)  
Старый 31.12.2013, 15:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

MrBoriska,
пока из вашего описания коффициента совпадения я понял что слова так, атака, тактика и стакан это 1 слово и оно повторилось 4 раза ... предлагаю решать подобные задачи методом job
Ответить с цитированием
  #25 (permalink)  
Старый 31.12.2013, 16:03
Интересующийся
Отправить личное сообщение для MrBoriska Посмотреть профиль Найти все сообщения от MrBoriska
 
Регистрация: 25.12.2013
Сообщений: 12

Ладно, в любом случае, я свою задачу уже решил, а коэффициент вещь не очень то и нужная.

С наступающим! И всем спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[FF+GM] Проверьте пжл. скрипт(не могу найти ошибку) Benos Firefox/Mozilla 4 30.03.2013 17:46
Не могу найти ошибку nemo4430 Общие вопросы Javascript 6 26.11.2012 23:33
не могу найти ошибку в коде MasterP Общие вопросы Javascript 1 03.07.2011 02:54
Не могу найти ошибку. Hellp jey7 Events/DOM/Window 2 20.06.2010 10:49
Не могу найти ошибку Lewik AJAX и COMET 4 19.07.2009 21:33