dlenguaje
Version:
Traductor de idioma Diego
52 lines (51 loc) • 2.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = lenguaje;
function lenguaje(str) {
//también se puede usar str para representar un String
var traducir = str;
// Si la palabra termina en ar se quitan esos dos últimos caractéres
if (str.toLowerCase().endsWith('ar')) {
//endsWith es una función que permite preguntar si la palagra termina en una palabra específica
traducir = str.slice(0, -2); //Slice permite cortarle a una palabra una cantidad de caracteres el primer valor, define de donde empezar y el segundo valor dice cuantas letras o caracteres cortar al final
}
// Si la Palabra termina con Z se agregará "PE" al final
if (str.toLowerCase().startsWith('z')) {
//La misma fución que endsWith, pero buscando desde el inicio de la palabra
traducir += 'pe'; // otra forma de escribirlo sería traducir = traducir + 'pe'
}
//Si la palabra traducida tiene 10 o mas letras, se debe partir a la mitad y unir con un guión
var length = traducir.length;
if (length >= 10) {
var firstHalf = traducir.slice(0, Math.round(length / 2));
var secondHalf = traducir.slice(Math.round(length / 2));
traducir = firstHalf + '-' + secondHalf;
}
//Si la Palabra Original es Palíndroma ninguna regla anterior cuenta y se devuelve la Misma Palabra, intercalando Mayúsculas y Minúsculas
var reverse = function reverse(str) {
return str.split('').reverse().join('');
};
//Split en '' divide cada caracter en un arreglo, ejemplo dia ["d","i","a"] si se pone un separador diferente ejemploo , y son varias palabras, pondrá en el arreglo ocada palabra por separado
//Reverse invierte los valores del arreglo entonces ["d","i","a"] quedaría ["a","i","d"]
//Join '' lo que hace es juntar nuevamente quitando el arreglo y conformando una palabra completa nuevamente entondes dia - aid
function minMay(str) {
var length = str.length;
var traducir = ''; // se define, ya que tenemos que usar una nueva variable, no puede ser la que estábamos usando, ya que se sumarán caracteres en mayuscula y minuscula
var capitalize = true; // Capitalize sifnifica poner en Mayuscula y lo definimos como Booleano para que busque si el valor es true hay que concatenar a la traduccón del caracter
for (var i = 0; i < length; i++) {
//i es un índice que se usará dentro de la repetición de l ciclo for y cada vez que se ejecute irá subiendo
var char = str.charAt(i);
traducir += capitalize ? char.toUpperCase() : char.toLowerCase();
// La condición traduce el if timando ? como en que estado esta capitalize, guego la acción y : es el else
capitalize = !capitalize;
//esta traduce la condición contraria para intercalar
}
return traducir;
}
if (str == reverse(str)) {
return minMay(str);
} // la condición entonces valida si str es igual a str invertido
return traducir;
}