Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Array y su orden

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]); } }

1 respuesta

Hola, Edgar

Para que esto no ocurra, es necesario cambiar el orden de la vocal a*, ella necesita estar después de la *i. Todas las llaves de encriptación terminan con consonantes, pero la a no. De esa forma, la letra i de la llave ai también es encriptada. Entonces para no tener este choque vocal, hacemos esta configuración:

[['e', 'enter'],['i', 'imes'], ['a', 'ai'], ['o','ober'],['u','ufat']]

Así, la palabra hola quedará hoberlai.

Abrazos.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!