Легко ведь проверить.
Поставьте как минимум перед первым условием if лог:
console.log(grammarInputs)
Будете знать хоть, с чем заходите в цикл.
Ну и внутри какой-нибудь лог.
Затем ловите в консольке что где не так, сколько сообщений выводится.
p.s.: посчитайте количество своих итераций (их больше, чем количество перебираемых элементов из-за условия <=, уберите равно).