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>