Показать сообщение отдельно
  #8 (permalink)  
Старый 12.11.2017, 01:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Lion777,
как - то так ...
<script>
var obj = {"Включ" : 1, "вод" : 2, "свет" : 4} , triger = [{wt : obj["Включ"]|obj["вод"], title : "включить воду"}, {wt : obj["Включ"]|obj["свет"], title : "включить свет"}]
function fn(str) {
    var key = str.split(/\s+/).reduce(function(s, a) {
        Object.keys(obj).forEach(function(k) {
            if (a.toLowerCase().indexOf(k.toLowerCase()) !== -1) s |= obj[k]
        });
        return s
    }, 0);
    return triger.filter(function(el) {
               return (key & el.wt) == el.wt
    });
};

document.write(JSON.stringify(fn("Включить пожалуйста воду и свет"))+"<br>")

document.write(JSON.stringify(fn("Включить пожалуйста воду"))+"<br>")

document.write(JSON.stringify(fn("Включить пожалуйста свет"))+"<br>")
document.write(JSON.stringify(fn("свеТ вклЮчить скорее"))+"<br>")

document.write(JSON.stringify(fn("Включить пожалуйста радугу"))+"<br>")
</script>
Ответить с цитированием