Skip to content

Commit c282295

Browse files
committed
#4 - JavaScript
1 parent 5aca86b commit c282295

File tree

1 file changed

+99
-0
lines changed

1 file changed

+99
-0
lines changed
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
/*
2+
* EJERCICIO:
3+
* Muestra ejemplos de todas las operaciones que puedes realizar con cadenas de caracteres
4+
* en tu lenguaje. Algunas de esas operaciones podrían ser (busca todas las que puedas):
5+
* - Acceso a caracteres específicos, subcadenas, longitud, concatenación, repetición, recorrido,
6+
* conversión a mayúsculas y minúsculas, reemplazo, división, unión, interpolación, verificación...
7+
*
8+
* DIFICULTAD EXTRA (opcional):
9+
* Crea un programa que analice dos palabras diferentes y realice comprobaciones
10+
* para descubrir si son:
11+
* - Palíndromos
12+
* - Anagramas
13+
* - Isogramas
14+
*/
15+
16+
// Operaciones comunes con cadenas de caracteres
17+
18+
// Acceso a caracteres específicos
19+
const cadena = 'Hola, mundo!';
20+
console.log('Carácter en la posición 0:', cadena[0]);
21+
22+
// Subcadenas
23+
const subcadena = cadena.substring(2, 6);
24+
console.log('Subcadena:', subcadena);
25+
26+
// Longitud de la cadena
27+
console.log('Longitud de la cadena:', cadena.length);
28+
29+
// Concatenación
30+
const otraCadena = ' Qué tal?';
31+
const cadenaConcatenada = cadena + otraCadena;
32+
console.log('Cadena concatenada:', cadenaConcatenada);
33+
34+
// Repetición
35+
const cadenaRepetida = cadena.repeat(3);
36+
console.log('Cadena repetida 3 veces:', cadenaRepetida);
37+
38+
// Recorrido
39+
for (let i = 0; i < cadena.length; i++) {
40+
console.log('Carácter en posición', i, ':', cadena[i]);
41+
}
42+
43+
// Conversión a mayúsculas y minúsculas
44+
const mayusculas = cadena.toUpperCase();
45+
const minusculas = cadena.toLowerCase();
46+
console.log('Mayúsculas:', mayusculas);
47+
console.log('Minúsculas:', minusculas);
48+
49+
// Reemplazo
50+
const nuevaCadena = cadena.replace('mundo', 'amigo');
51+
console.log('Cadena con reemplazo:', nuevaCadena);
52+
53+
// División
54+
const palabras = cadena.split(' ');
55+
console.log('Palabras divididas:', palabras);
56+
57+
// Unión
58+
const union = palabras.join('-');
59+
console.log('Palabras unidas con guiones:', union);
60+
61+
// Interpolación
62+
const nombre = 'Juan';
63+
const edad = 30;
64+
const mensaje = `Hola, me llamo ${nombre} y tengo ${edad} años.`;
65+
console.log('Mensaje interpolado:', mensaje);
66+
67+
// Verificación
68+
const contieneHola = cadena.includes('Hola');
69+
console.log("¿La cadena contiene 'Hola'?", contieneHola);
70+
71+
// Programa que verifica palíndromos, anagramas e isogramas
72+
73+
function esPalindromo(palabra) {
74+
const palabraInvertida = palabra.split('').reverse().join('');
75+
return palabra === palabraInvertida;
76+
}
77+
78+
function esAnagrama(palabra1, palabra2) {
79+
const ordenPalabra1 = palabra1.split('').sort().join('');
80+
const ordenPalabra2 = palabra2.split('').sort().join('');
81+
return ordenPalabra1 === ordenPalabra2;
82+
}
83+
84+
function esIsograma(palabra) {
85+
const caracteresUnicos = new Set(palabra);
86+
return palabra.length === caracteresUnicos.size;
87+
}
88+
89+
// Ejemplos
90+
const palabra1 = 'oso';
91+
const palabra2 = 'soso';
92+
console.log(`"${palabra1}" es palíndromo:`, esPalindromo(palabra1));
93+
console.log(
94+
`"${palabra1}" es anagrama de "${palabra2}":`,
95+
esAnagrama(palabra1, palabra2),
96+
);
97+
console.log(`"${palabra1}" es isograma:`, esIsograma(palabra1));
98+
99+
// Visita mi repo en GitHub para ver y correr los tests de este código --> https://github.com/marcode24/weekly-challenges

0 commit comments

Comments
 (0)