Skip to content

Commit ff50bfa

Browse files
authored
Merge pull request mouredev#6983 from wapastorv/main
# 04 - Javascript
2 parents ee4f89b + 8e81d76 commit ff50bfa

File tree

1 file changed

+175
-0
lines changed

1 file changed

+175
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
/* EJERCICIO:
2+
* Muestra ejemplos de todas las operaciones que puedes realizar con cadenas de caracteres
3+
* en JavaScript. Todas las operaciones que se podrian hacer:
4+
* - Acceso a caracteres específicos, subcadenas, longitud, concatenación, repetición, recorrido,
5+
* conversión a mayúsculas y minúsculas, reemplazo, división, unión, interpolación, verificación, etc...
6+
*/
7+
8+
// Acceso a caracteres específicos
9+
let cadena = "Hola mundo";
10+
console.log(cadena[0]); // H
11+
console.log(cadena.charAt(0)); // H
12+
console.log(cadena.charCodeAt(0)); // 72
13+
14+
// Subcadenas
15+
console.log(cadena.substring(0, 4)); // Hola
16+
console.log(cadena.substr(0, 4)); // Hola
17+
console.log(cadena.slice(0, 4)); // Hola
18+
console.log(cadena.slice(-5)); // mundo
19+
20+
// Longitud
21+
console.log(cadena.length); // 10
22+
23+
// Concatenación
24+
let cadena2 = " desde JavaScript";
25+
console.log(cadena + cadena2); // Hola mundo desde JavaScript
26+
console.log(cadena.concat(cadena2)); // Hola mundo desde JavaScript
27+
//console.log(cadena.concat(" desde JavaScript")); // Hola mundo desde JavaScript
28+
29+
// Repetición
30+
console.log(cadena.repeat(3)); // Hola mundoHola mundoHola mundo
31+
32+
//Recorrido o Iteración
33+
for (let i = 0; i < cadena.length; i++) {
34+
console.log(cadena[i]);// H o l a m u n d o
35+
}
36+
for(let i in cadena){
37+
console.log(cadena[i]); // H o l a m u n d o
38+
}
39+
40+
// Conversión a mayúsculas y minúsculas
41+
console.log(cadena.toUpperCase()); // HOLA MUNDO
42+
console.log(cadena.toLowerCase()); // hola mundo
43+
44+
// Reemplazo
45+
console.log(cadena.replace("mundo", "amigos")); // Hola amigos
46+
console.log(cadena.replace(/o/g, "0")); // H0la mund0
47+
48+
// División
49+
console.log(cadena.split(" ")); // ["Hola", "mundo"]
50+
51+
// Unión
52+
console.log(["Hola", "mundo"].join(" ")); // Hola mundo
53+
54+
// Interpolación
55+
let nombre = "Juan";
56+
let edad = 25;
57+
console.log(`Me llamo ${nombre} y tengo ${edad} años.`); // Me llamo Juan y tengo 25 años.
58+
59+
// Verificación
60+
console.log(cadena.startsWith("Hola")); // true
61+
console.log(cadena.endsWith("mundo")); // true
62+
console.log(cadena.includes("mundo")); // true
63+
64+
console.log(cadena.match(/o/g)); // ["o", "o"]
65+
console.log(cadena.match(/o/g).length); // 2
66+
console.log(cadena.match(/o/g).join("")); // oo
67+
console.log(cadena.match(/o/g).toString()); // o,o
68+
console.log(cadena.match(/o/g).reverse().join("")); // o,o (no funciona) porque reverse() no es una función de un array de strings sino de un array de objetos (en este caso, de un array de strings)
69+
70+
//Eliminar Espacios en Blanco (Trim)
71+
let cadena3 = " Hola mundo ";
72+
console.log(cadena3.trim()); // Hola mundo (elimina los espacios en blanco al principio y al final de la cadena)
73+
console.log(cadena3.trimStart()); // Hola mundo (elimina los espacios en blanco al principio de la cadena)
74+
console.log(cadena3.trimEnd()); // Hola mundo (elimina los espacios en blanco al final de la cadena)
75+
76+
// Buscar indice de un caracter o subcadena
77+
console.log(cadena.indexOf("mundo")); // 5
78+
console.log(cadena.lastIndexOf("o")); // 7
79+
console.log(cadena.search("mundo")); // 5
80+
81+
// Comparación de Cadenas
82+
let cadena4 = "Hola";
83+
let cadena5 = "Hola";
84+
console.log(cadena4 === cadena5); // true (compara el valor y el tipo de dato)
85+
console.log(cadena4 == cadena5); // true (compara el valor)
86+
console.log(cadena4 > cadena5); // false (compara el valor en Unicode)
87+
console.log(cadena4 < cadena5); // false (compara el valor en Unicode)
88+
console.log(cadena4 >= cadena5); // true (compara el valor en Unicode)
89+
console.log(cadena4 <= cadena5); // true (compara el valor en Unicode)
90+
91+
//Convertir Cadena a Array de Caracteres
92+
let cadena6 = "Hola";
93+
console.log(cadena6.split("")); // ["H", "o", "l", "a"]
94+
let chars = [...cadena6];
95+
console.log(chars); // ["H", "o", "l", "a"]
96+
97+
//Remplazo Complejo Usando Expresiones Regulares
98+
let cadena7 = "Hola mundo";
99+
console.log(cadena7.replace(/(mundo)/, "amigos")); // Hola amigos
100+
101+
let frase = "Ella es ella, pero ella no es él.";
102+
console.log(frase.replace(/ella/g, "él")); // Él es él, pero él no es él.
103+
104+
//Convertir a Código ASCII
105+
let cadena8 = "Hola";
106+
let ascii = "";
107+
for (let i = 0; i < cadena8.length; i++) {
108+
ascii += cadena8.charCodeAt(i) + " ";
109+
}
110+
console.log(ascii); // 72 111 108 97
111+
112+
//Convertir a Código ASCII con Expresiones Regulares
113+
let cadena9 = "Hola";
114+
let ascii2 = "";
115+
let asciiArray = cadena9.split("").map(c => c.charCodeAt(0));
116+
ascii2 = asciiArray.join(" ");
117+
console.log(ascii2); // 72 111 108 97
118+
119+
//convertir a Código ASCII con Expresiones Regulares
120+
const texto = "Hola";
121+
let ascii3 = texto.replace(/./g, c => c.charCodeAt(0) + " ");
122+
console.log(ascii3); // 72 111 108 97
123+
124+
//Convertir a Código ASCII con Expresiones Regulares y Eliminar Espacios en Blanco
125+
const texto2 = "Hola";
126+
let ascii4 = texto2.replace(/./g, c => c.charCodeAt(0) + " ").trim();
127+
console.log(ascii4); // 72 111 108 97
128+
129+
//Convertir a Código ASCII con Expresiones Regulares y Eliminar Espacios en Blanco con Expresiones Regulares
130+
const texto3 = "Hola";
131+
let ascii5 = texto3.replace(/./g, c => c.charCodeAt(0) + " ").replace(/\s/g, "");
132+
console.log(ascii5); // 7211110897
133+
134+
//Convertir a Código ASCII con Expresiones Regulares y Eliminar Espacios en Blanco con Expresiones Regulares y Convertir a Array
135+
const texto4 = "Hola";
136+
let ascii6 = texto4.replace(/./g, c => c.charCodeAt(0) + " ").replace(/\s/g, "").split("");
137+
console.log(ascii6); // ["7", "2", "1", "1", "1", "0", "8", "9", "7"]
138+
139+
//Convertir a Código ASCII con Expresiones Regulares y Eliminar Espacios en Blanco con Expresiones Regulares y Convertir a Array de Números
140+
const texto5 = "Hola";
141+
let ascii7 = texto5.replace(/./g, c => c.charCodeAt(0) + " ").replace(/\s/g, "").split("").map(Number);
142+
console.log(ascii7); // [7, 2, 1, 1, 1, 0, 8, 9, 7]
143+
144+
145+
// Ejercio Practico
146+
function esPalindromo(texto) {
147+
// Convertimos el texto a minúsculas, eliminamos todos los caracteres no alfanuméricos
148+
// y normalizamos para eliminar tildes
149+
const textoLimpio = texto
150+
.normalize('NFD') // Descompone caracteres acentuados
151+
.replace(/[\u0300-\u036f]/g, '') // Elimina los diacríticos (tildes)
152+
.toLowerCase() // Convertimos todo a minúsculas
153+
.replace(/[^a-z0-9]/g, ''); // Eliminamos caracteres no alfanuméricos
154+
155+
// Comparamos el texto limpio con su versión invertida
156+
const esPalindromo = textoLimpio === textoLimpio.split('').reverse().join('');
157+
158+
// Retornamos un mensaje en forma de string indicando si es palíndromo o no
159+
return esPalindromo ? `"${texto}" es un palíndromo` : `"${texto}" no es un palíndromo`;
160+
}
161+
162+
const frase1= "Somos o no somos"
163+
const frase2 = "Amó la paloma"
164+
const frase3 = "palabra"
165+
const frase4 = "No es palíndromo"
166+
167+
console.log(esPalindromo(frase1)); // "Somos o no somos" es un palíndromo
168+
console.log(esPalindromo(frase2)); // "Amó la paloma" es un palíndromo
169+
console.log(esPalindromo(frase3)); // "palabra" no es un palíndromo
170+
console.log(esPalindromo(frase4)); // "No es palíndromo" no es un palíndromo
171+
172+
173+
174+
175+

0 commit comments

Comments
 (0)