Hola:
Me gusta ver tu entusiasmo, y veo muy bien la evolución del tema...
Mi nuevo aporte tiene intención de ayudarte a simplificar el tema:
El último de los datos del bucle for es un incremento que puede hacerse con el incremento que se quiera... poniendo i = i + 2 puedes omitir el incremento que haces al final del bucle (i++)... y aún mejor, puedes hacer ese incremento en el momento que usas la variable por última vez...
f[params[
i++]].focus();
Saludos