Как можно сделать фильтрацию слов?

179
27 июля 2018, 16:10

На вход поступает слово,например:

var name = "космос";

И есть нужное слово:

var result = "космос";

Нужно если name == result возвращать true,но учитывать подобные варианты: name = "козмос/космоз/космас" и тд. Как это можно примерно сделать? Т.е нужно чтобы при голосовом наборе убрать подобные опечатки.

Answer 1

Как вариант

function equals(word1, word2) {
                var ERR_LEVEL = 1;
                var arrWord1 = word1.split('');
                var arrWord2 = word2.split('');
                if (arrWord1.length !== arrWord2.length) {
                    return false;
                }
                var currentErrorLevel = 0;
                for (var i = 0; i < arrWord1.length; i++) {
                    arrWord1[i] !== arrWord2[i] && currentErrorLevel++;
                }
                return currentErrorLevel <= ERR_LEVEL;  
            }

Здесь ERR_LEVEL - уровень равенства, в данном случае возможно отличие в одной букве

READ ALSO
Почему скрипт работает только в Firefox и в Edge?

Почему скрипт работает только в Firefox и в Edge?

Потребовалась кнопка которая бы включала/выключала звук видео с Youtube

161
сравнение строк &ldquo;2&rdquo; &gt; &ldquo;15&rdquo; = true

сравнение строк “2” > “15” = true

Прочитал мануал по поводу строк: Посимвольное сравнение

180
Async snotify axios in vuejs project

Async snotify axios in vuejs project

Пытаюсь разобраться с axios, обёрнутым в snotify в своём проекте на VueJSНашёл пример того, как можно поместить одно в другое, но возникает проблема...

176
Функция (Проверка на пустоту)

Функция (Проверка на пустоту)

Начинающий в js прошу сильно не пинать) функция по клику создает заголовок h4, так же вместе с заголовком создается ссылка с кнопкой удаления...

192