Tengo duda, nunca explicaron por qué sucede esto. Al ordenar el Array de esta forma no funciona como se debe, tiene que ver el orden en un array? entiendo que posiblemente al encontrar la letra a hace la sustitución y coloca 'ai' y cuando hace el barrido otra vez encuentra la i y hace la sustitución porque no está acompañada de una consonante como es el caso de las otras vocales que colocan una consonante a la par de la vocal.
Pero me gustaría una explicación para comprender más.
-->> function encriptar(stringEncriptada){ let matrizCodigo = [['a', 'ai'],['e', 'enter'],['i', 'imes'], ['o','ober'],['u','ufat']]; stringEncriptada = stringEncriptada.toLowerCase(); for(let i=0; i < matrizCodigo.length; i++){ if (stringEncriptada.includes(matrizCodigo[i][0])){ stringEncriptada = stringEncriptada.replaceAll (matrizCodigo[i][0],matrizCodigo[i][1]); } }