У меня не работает программа по вычислению падежа на js

Хочу сделать программу, где даёшь слово и оно узнаёт его спряжение. С основной частью все хорошо работает, но, когда попадаются исключения, компьютер просто их игнорирует.

let req = "смотреть"

console.log(req)

const funcExcep = () => {
    if (req === "смотреть" && req === "обидеть" && req === "слышать" && req ==="ненавидеть" && req ==="видеть" && req ==="гнать" && req ==="дышать" && req ==="держать" && req === "вертеть" && req ==="зависеть" && req ==="терпеть" ) {
        console.log(req + " — II спряжение")
    
    }
    if (req ==="брить" && req ==="стелить" && req ==="зиждиться") {
        console.log(req + " — I спряжение")
    }
}

const func = (arg, arg2, arg3, arg4) => {
    arg = req.length - 3

    arg2 = req.length - 1

    arg3 = req.length - 5

    console.log(req[arg])

    console.log(req[arg2])

    console.log(req[arg3])

    if(req[arg2] === "ь") {
        if (req[arg] === "и") {
            console.log(req + " — II спряжение")
        } else {
            console.log(req + " — I спряжение")
        }
    }
    if (req[arg2] === "я") {
        if (req[arg3] === "и") {
            console.log(req + " — II спряжение")
        } else {
            console.log(req + " — I спряжение")
        }

    }
}

const filt = (res) => {
    res = req

    if ( res === "смотреть" && res === "обидеть" && res === "слышать" && res ==="ненавидеть" && res ==="видеть" && res ==="гнать" && res ==="дышать" && res ==="держать" && res === "вертеть" && res ==="зависеть" && res ==="терпеть" && res === "брить" && res ==="стелить" && res ==="зиждиться" ) {
        funcExcep()
    } else { 
    
        func()
     }
}
filt()

Ответы (1 шт):

Автор решения: Komdosh

В вашем коде, конечно, есть ряд других проблем, но обозначу только поднятую вами:

У вас неправильное логическое условие. Разберём фрагмент:

if (res === "смотреть" && res === "обидеть"){
  funcExcep()
}

Здесь вы пишите если в переменной res записано слово смотреть И слово обидеть, то исполни функцию funcExcep. Такого не может быть, так как переменная res может хранить слово смотреть ИЛИ слово обидеть.

Соответственно надо просто поменять везде оператор логического И на ИЛИ

if (res === "смотреть" || res === "обидеть"){
  funcExcep()
}
→ Ссылка