1+ // #04 CADENAS DE CARACTERES
2+
3+ // Ejercicio
4+
5+ // Acceso a caracteres específicos
6+
7+ let cadena = "Hola, mundo!" ;
8+
9+ console . log ( "Primer caracter:" , cadena [ 0 ] ) ;
10+ console . log ( "Primer caracter:" , cadena . charAt ( 0 ) ) ;
11+
12+ // Subcadena
13+
14+ let subcadena = cadena . substring ( 6 , 11 ) ;
15+ console . log ( "Subcadena:" , subcadena ) ;
16+
17+ // Longitud de cadena
18+
19+ console . log ( "Longitud de la cadena:" , cadena . length ) ;
20+
21+ // Concatenación de cadenas
22+
23+ let cadena1 = "Hola" ;
24+ let cadena2 = "mundo!" ;
25+
26+ let cadenaConcatenada = cadena1 + " " + cadena2 ;
27+ console . log ( "Cadena concatenada:" , cadenaConcatenada ) ;
28+
29+ let cadenaConcatenada2 = cadena1 . concat ( " " , cadena2 ) ;
30+ console . log ( "Cadena concatenada:" , cadenaConcatenada2 ) ;
31+
32+ // Repetición
33+
34+ let cadenaRepetida = cadena . repeat ( 3 ) ;
35+ console . log ( "Cadena repetida:" , cadenaRepetida ) ;
36+
37+ // Recorrido
38+
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+ console . log ( "Mayúsculas:" , cadena . toUpperCase ( ) ) ;
45+ console . log ( "Minúsculas:" , cadena . toLowerCase ( ) ) ;
46+
47+ // Reemplazo
48+ let cadenaReemplazada = cadena . replace ( "mundo" , "javascript" ) ;
49+ console . log ( "Reemplazo:" , cadenaReemplazada ) ;
50+
51+ // División
52+ let palabras = cadena . split ( " " ) ;
53+ console . log ( "División por espacio:" , palabras ) ;
54+
55+ // Unión
56+ let nuevaCadenaUnida = palabras . join ( ":) " ) ;
57+ console . log ( "Unión con guiones:" , nuevaCadenaUnida ) ;
58+
59+ // Interpolación
60+
61+ let lenguaje = "JavaScript" ;
62+ console . log ( `El lenguaje es ${ lenguaje } ` ) ;
63+
64+ // Verificación
65+
66+ let contieneHola = cadena . includes ( "Hola" ) ;
67+ console . log ( "Contiene 'Hola':" , contieneHola ) ;
68+
69+ // Dificultad extra
70+
71+ function programa ( cadena1 , cadena2 ) {
72+ function esPalindromo ( cadena1 , cadena2 ) {
73+ return cadena1 . toLowerCase ( ) === cadena2 . split ( "" ) . reverse ( ) . join ( "" ) . toLowerCase ( ) ;
74+ }
75+ console . log ( "Es palíndromo:" , esPalindromo ( cadena1 , cadena2 ) ) ;
76+
77+ function esAnagrama ( cadena1 , cadena2 ) {
78+ return cadena1 . toLowerCase ( ) . split ( "" ) . sort ( ) . join ( "" ) === cadena2 . toLowerCase ( ) . split ( "" ) . sort ( ) . join ( "" )
79+ }
80+ console . log ( "Es anagrama:" , esAnagrama ( cadena1 , cadena2 ) ) ;
81+
82+ function esIsograma ( cadena1 , cadena2 ) {
83+ let caracteres = { } ;
84+
85+ for ( let i = 0 ; i < cadena1 . length ; i ++ ) {
86+ if ( caracteres [ cadena1 [ i ] . toLowerCase ( ) ] ) {
87+ return false ;
88+ }
89+ caracteres [ cadena1 [ i ] ] = true ;
90+ }
91+
92+ for ( let i = 0 ; i < cadena2 . length ; i ++ ) {
93+ if ( caracteres [ cadena2 [ i ] . toLowerCase ( ) ] ) {
94+ return false ;
95+ }
96+ caracteres [ cadena2 [ i ] ] = true ;
97+ }
98+
99+ return true ;
100+ }
101+ console . log ( "Es isograma:" , esIsograma ( cadena1 , cadena2 ) ) ;
102+ }
103+
104+
105+ programa ( "Hola" , "aloh" ) ;
106+ programa ( "Dart" , "Go" ) ;
0 commit comments