Переменные Javascript имеют область действия функции , а не область действия блока , к которой вы, вероятно, привыкли. (Это большая бородавка Javascript, к которой мы должны привыкнуть)
Обычные правила стиля предполагают, что лучше объявить все переменные, включая переменные цикла только один раз в начале функции. (Не объявляйте их внутри оператора for - это имеет смысл на других языках, но не в Javascript).
Надеюсь, это заставит ваш компилятор успокоиться.
(Вам не нужно слишком много беспокоиться об обоих циклах, использующих одну и ту же переменную - переменная в любом случае повторно инициализируется)