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
+
9
+ const palabra = "Javascript"
10
+
11
+ //Acceder a un caracter.
12
+ console . log ( palabra . charAt ( 0 ) )
13
+ console . log ( palabra [ 0 ] ) //Opcion mas moderna, pero no soportada en IE7
14
+ console . log ( "---------------------------" )
15
+
16
+
17
+ //Comparar caracteres
18
+ let a = "a"
19
+ let b = "b"
20
+
21
+ if ( a < b ) {
22
+ console . log ( a + " es menor que " + b ) //Se imprime esto porque el valor ASCII de la letra a es menor que la letra b
23
+ } else if ( a > b ) {
24
+ console . log ( a + " es mayor que " + b )
25
+ } else {
26
+ console . log ( "Son iguales" )
27
+ }
28
+ console . log ( "---------------------------" )
29
+
30
+ //Substring
31
+ console . log ( palabra . substring ( 1 , 3 ) ) //Primera letra se incluye y la utlima NO se incluye
32
+ console . log ( palabra . substring ( 2 ) ) //Se imprime a partir de la letra seleccionada hasta el final
33
+ console . log ( "---------------------------" )
34
+
35
+ //Longitud
36
+ const emoji = "😄"
37
+ console . log ( palabra . length )
38
+ console . log ( palabra . length - 1 ) //Tambien se le puede restar a la longitud
39
+
40
+ console . log ( emoji . length ) //Devuelve 2 debido a que Javascript usar utf-16 para representar caracteres
41
+ console . log ( [ ...emoji ] . length ) //De esta manera devuelve el numero de caracteres
42
+
43
+ console . log ( "---------------------------" )
44
+
45
+ //Concatenacion
46
+ let nombre = "Denis"
47
+ let frase = "Hola, me llamo"
48
+
49
+ console . log ( "Hola, me llamo " + nombre ) //Usando el operador +
50
+ console . log ( `Hola, me llamo ${ nombre } ` ) //Usando plantillas literales. No soportado en IE7
51
+ console . log ( frase . concat ( " " , nombre ) ) //Usando concat()
52
+
53
+ console . log ( "---------------------------" )
54
+
55
+ //Repeticion
56
+ console . log ( palabra . repeat ( 3 ) )
57
+
58
+ console . log ( "---------------------------" )
59
+
60
+ // Recorrido
61
+ for ( let i = 0 ; i < palabra . length ; i ++ ) {
62
+ console . log ( palabra [ i ] ) ;
63
+ }
64
+
65
+ console . log ( "---------------------------" )
66
+
67
+ //Conversion Mayusculas <-> Minusculas
68
+ console . log ( palabra . toLowerCase ( ) )
69
+ console . log ( palabra . toUpperCase ( ) )
70
+
71
+ console . log ( "---------------------------" )
72
+
73
+ //Reemplazo
74
+ let frase2 = "Hola Hola mundo"
75
+ console . log ( frase . replace ( "Hola" , "Adios" ) ) //Solo reemplaza la primera coincidencia
76
+ console . log ( frase . replaceAll ( "Hola" , "Adios" ) ) //Reemplaza todas las coincidencias
77
+
78
+ console . log ( "---------------------------" )
79
+
80
+ //Division
81
+ let frase3 = "Hola mundo estoy aprendiendo Javascript"
82
+ let split = frase3 . split ( " " )
83
+ console . log ( split )
84
+ console . log ( "---------------------------" )
85
+
86
+ //Union
87
+ let joined = split . join ( " " )
88
+ console . log ( joined )
89
+ console . log ( "---------------------------" )
90
+
91
+ //Interpolacion (mismo ejemplo que en el apartado concatenacion)
92
+ console . log ( `Hola, me llamo ${ nombre } ` )
93
+ console . log ( "---------------------------" )
94
+
95
+ //Verificacion
96
+ console . log ( frase3 . includes ( "mundo" ) ) // True
97
+ console . log ( frase3 . includes ( "Mundo" ) ) //False
98
+ console . log ( "---------------------------" )
99
+
100
+ //Trim
101
+ let frase4 = " Hola mundo "
102
+ console . log ( frase4 )
103
+ console . log ( frase4 . trim ( ) ) //Quita los espacios en blanco al principio y al final del string.
104
+ console . log ( frase4 . trimEnd ( ) ) //Quita los espacios en blanco al final del string.
105
+ console . log ( frase4 . trimStart ( ) ) //Quita los espacios en blanco al principio del string.
106
+ console . log ( "---------------------------" )
107
+
108
+ //Reverse
109
+ console . log ( split . reverse ( ) . join ( " " ) )
110
+ console . log ( "---------------------------" )
111
+
112
+
113
+
114
+ /*
115
+ * DIFICULTAD EXTRA (opcional):
116
+ * Crea un programa que analice dos palabras diferentes y realice comprobaciones
117
+ * para descubrir si son:
118
+ * - Palíndromos
119
+ * - Anagramas
120
+ * - Isogramas
121
+ */
122
+
123
+ //Palindromo
124
+ function esPalindromo ( palabra1 ) {
125
+ return palabra1 === palabra1 . split ( "" ) . reverse ( ) . join ( "" )
126
+
127
+ }
128
+ console . log ( esPalindromo ( "somos" ) )
129
+
130
+ //Anagrama
131
+ function esAnagrama ( palabra1 , palabra2 ) {
132
+ return palabra1 . split ( "" ) . reverse ( ) . join ( "" ) === palabra2
133
+ }
134
+ console . log ( esAnagrama ( "roma" , "amor" ) )
135
+
136
+ //Isograma
137
+ function esIsograma ( palabra1 ) {
138
+ let letras = palabra1 . split ( "" )
139
+ for ( let i = 0 ; i < letras . length ; i ++ ) {
140
+ for ( let j = i + 1 ; j < letras . length ; j ++ ) {
141
+ if ( letras [ i ] === letras [ j ] ) {
142
+ return false
143
+ }
144
+ }
145
+ }
146
+ return true
147
+ }
148
+ console . log ( esIsograma ( "murcielago" ) )
0 commit comments