16
16
* - También se debe proponer una operación de finalización del programa.
17
17
*/
18
18
19
-
20
- console . log ( '--------------ESTRUCTURAS DE DATOS----------------' ) ;
21
- console . log ( '---------------------ARRAY------------------------' ) ;
19
+ console . log ( "--------------ESTRUCTURAS DE DATOS----------------" ) ;
20
+ console . log ( "---------------------ARRAY------------------------" ) ;
22
21
23
22
const arr = [ 1 , 2 , 3 ] ;
24
- console . log ( ' array: ' , arr ) ;
23
+ console . log ( " array: " , arr ) ;
25
24
arr . push ( 4 ) ;
26
- console . log ( ' Inserción en el array de un 4. Resultado: ' , arr ) ;
25
+ console . log ( " Inserción en el array de un 4. Resultado: " , arr ) ;
27
26
arr . pop ( ) ;
28
- console . log ( ' Borrado en el array' , arr ) ;
27
+ console . log ( " Borrado en el array" , arr ) ;
29
28
arr . shift ( ) ;
30
- console . log ( ' Borrado del primer elemento en el array' , arr ) ;
29
+ console . log ( " Borrado del primer elemento en el array" , arr ) ;
31
30
32
- let arrDesordenado = [ 2 , 1 , 0 ]
33
- console . log ( ' array desordenando' , arrDesordenado ) ;
34
- arrDesordenado . sort ( )
35
- console . log ( ' array ordenado' , arrDesordenado ) ;
31
+ let arrDesordenado = [ 2 , 1 , 0 ] ;
32
+ console . log ( " array desordenando" , arrDesordenado ) ;
33
+ arrDesordenado . sort ( ) ;
34
+ console . log ( " array ordenado" , arrDesordenado ) ;
36
35
37
36
arrDesordenado [ 0 ] = 10 ;
38
- console . log ( ' actualizamos array desordenado' , arrDesordenado ) ;
37
+ console . log ( " actualizamos array desordenado" , arrDesordenado ) ;
39
38
40
- console . log ( ' ---------------------SET------------------------' ) ;
39
+ console . log ( " ---------------------SET------------------------" ) ;
41
40
// Los sets solo permiten datos únicos, no puede haber dos elementos repetidos
42
- const miSet = new Set ( [ 1 , 2 , 3 ] )
43
- console . log ( ' mi set es' , miSet ) ;
41
+ const miSet = new Set ( [ 1 , 2 , 3 ] ) ;
42
+ console . log ( " mi set es" , miSet ) ;
44
43
miSet . add ( 4 ) ;
45
- console . log ( ' .add() añade un elemento a mi' , miSet ) ;
44
+ console . log ( " .add() añade un elemento a mi" , miSet ) ;
46
45
miSet . delete ( 3 ) ;
47
- console . log ( ' borrando el elemento 3' , miSet ) ;
48
- console . log ( ' el set tiene el elemento 4?' , miSet . has ( 4 ) ) ;
46
+ console . log ( " borrando el elemento 3" , miSet ) ;
47
+ console . log ( " el set tiene el elemento 4?" , miSet . has ( 4 ) ) ;
49
48
miSet . clear ( ) ;
50
- console . log ( 'hacemos un clear del set' , miSet ) ;
51
-
49
+ console . log ( "hacemos un clear del set" , miSet ) ;
52
50
53
- console . log ( ' ---------------------WEAKSET------------------------' ) ;
54
- const obj1 = { nombre : ' obj1' } ;
55
- const obj2 = { nombre : ' obj2' } ;
56
- const obj3 = { nombre : ' obj3' } ;
51
+ console . log ( " ---------------------WEAKSET------------------------" ) ;
52
+ const obj1 = { nombre : " obj1" } ;
53
+ const obj2 = { nombre : " obj2" } ;
54
+ const obj3 = { nombre : " obj3" } ;
57
55
58
56
const miWeakSet = new WeakSet ( ) ;
59
57
miWeakSet . add ( obj1 ) ;
60
58
miWeakSet . add ( obj2 ) ;
61
- console . log ( ' my weak set' , miWeakSet ) ;
59
+ console . log ( " my weak set" , miWeakSet ) ;
62
60
miWeakSet . add ( obj3 ) ;
63
- console . log ( ' add obj3' , miWeakSet ) ;
61
+ console . log ( " add obj3" , miWeakSet ) ;
64
62
miWeakSet . delete ( obj2 ) ;
65
- console . log ( ' delete 3' , miWeakSet ) ;
66
- console . log ( ' my weak set has obj1?' , miWeakSet . has ( obj1 ) ) ;
63
+ console . log ( " delete 3" , miWeakSet ) ;
64
+ console . log ( " my weak set has obj1?" , miWeakSet . has ( obj1 ) ) ;
67
65
68
-
69
- console . log ( '---------------------WEAKMAP------------------------' ) ;
66
+ console . log ( "---------------------WEAKMAP------------------------" ) ;
70
67
let weakMap = new WeakMap ( ) ;
71
68
let key1 = { } ;
72
69
let key2 = { } ;
73
70
74
71
weakMap . set ( key1 , "value1" ) ;
75
- weakMap . set ( key2 , "value2" )
72
+ weakMap . set ( key2 , "value2" ) ;
76
73
77
74
weakMap . delete ( key1 ) ;
78
75
79
76
weakMap . set ( key2 , "newValue2" ) ;
80
77
console . log ( weakMap ) ;
81
78
82
- console . log ( ' ---------------------OBJETO------------------------' ) ;
79
+ console . log ( " ---------------------OBJETO------------------------" ) ;
83
80
const persona = {
84
- nombre : ' Caterina' ,
85
- edad : 24 ,
86
- genero : 'f'
87
- }
81
+ nombre : " Caterina" ,
82
+ edad : 24 ,
83
+ genero : "f" ,
84
+ } ;
88
85
89
86
persona . edad = 25 ;
90
87
console . log ( persona ) ;
@@ -95,15 +92,15 @@ console.log(persona);
95
92
const sortedKeys = Object . keys ( persona ) . sort ( ) ;
96
93
97
94
let sortedObj = { } ;
98
- sortedKeys . map ( key =>
99
- sortedObj [ key ] = persona [ key ]
100
- )
101
- console . log ( 'objeto ordenado' , sortedObj ) ;
102
-
103
- console . log ( '---------------------MAP------------------------' ) ; let map = new Map ( [
104
- [ "nombre" , "Caterina" ] ,
105
- [ "edad" , 22 ] ,
106
- [ "genero" , "f" ]
95
+ sortedKeys . map ( ( key ) => ( sortedObj [ key ] = persona [ key ] ) ) ;
96
+ console . log ( "objeto ordenado" , sortedObj ) ;
97
+
98
+ console . log ( "---------------------MAP------------------------" ) ;
99
+
100
+ let map = new Map ( [
101
+ [ "nombre" , "Caterina" ] ,
102
+ [ "edad" , 22 ] ,
103
+ [ "genero" , "f" ] ,
107
104
] ) ;
108
105
109
106
map . set ( "casa" , "Mallorca" ) ;
@@ -115,27 +112,26 @@ let sortedMapArray = [...map.entries()].sort();
115
112
let sortedMap = new Map ( sortedMapArray ) ;
116
113
console . log ( sortedMap ) ;
117
114
118
- console . log ( '--------------------EJERCICIO EXTRA------------------' ) ;
119
-
115
+ console . log ( "--------------------EJERCICIO EXTRA------------------" ) ;
120
116
121
117
/* DIFICULTAD EXTRA (opcional):
122
- * Crea una agenda de contactos por terminal.
123
- * - Debes implementar funcionalidades de búsqueda, inserción, actualización
124
- * y eliminación de contactos.
125
- * - Cada contacto debe tener un nombre y un número de teléfono.
126
- * - El programa solicita en primer lugar cuál es la operación que se quiere realizar,
127
- * y a continuación los datos necesarios para llevarla a cabo.
128
- * - El programa no puede dejar introducir números de teléfono no númericos y con más
129
- * de 11 dígitos (o el número de dígitos que quieras).
130
- * - También se debe proponer una operación de finalización del programa.
131
- */
132
- const readline = require ( ' readline' ) ;
118
+ * Crea una agenda de contactos por terminal.
119
+ * - Debes implementar funcionalidades de búsqueda, inserción, actualización
120
+ * y eliminación de contactos.
121
+ * - Cada contacto debe tener un nombre y un número de teléfono.
122
+ * - El programa solicita en primer lugar cuál es la operación que se quiere realizar,
123
+ * y a continuación los datos necesarios para llevarla a cabo.
124
+ * - El programa no puede dejar introducir números de teléfono no númericos y con más
125
+ * de 11 dígitos (o el número de dígitos que quieras).
126
+ * - También se debe proponer una operación de finalización del programa.
127
+ */
128
+ const readline = require ( " readline" ) ;
133
129
const rl = readline . createInterface ( process . stdin , process . stdout ) ;
134
130
135
131
let contacts = [ ] ;
136
132
137
133
const menu = ( ) => {
138
- console . log ( `
134
+ console . log ( `
139
135
------------------
140
136
1. Añadir contacto
141
137
2. Borrar contacto
@@ -144,64 +140,66 @@ const menu = () => {
144
140
-----------------
145
141
146
142
` ) ;
147
- rl . question ( ' Elije mortal :) -> ' , chooseOption )
143
+ rl . question ( " Elije mortal :) -> " , chooseOption ) ;
148
144
} ;
149
145
150
146
const chooseOption = ( option ) => {
151
- switch ( option ) {
152
- case '1' :
153
- addContact ( ) ;
154
- break ;
155
- case '2' :
156
- deleteContact ( ) ;
157
- break ;
158
- case '3' :
159
- console . log ( ' testim Grace, princeseta' ) ;
160
- case '4' :
161
- listContacts ( ) ;
162
- break ;
163
- default :
164
- menu ( ) ;
165
- }
166
- }
147
+ switch ( option ) {
148
+ case "1" :
149
+ addContact ( ) ;
150
+ break ;
151
+ case "2" :
152
+ deleteContact ( ) ;
153
+ break ;
154
+ case "3" :
155
+ console . log ( " testim Grace, princeseta" ) ;
156
+ case "4" :
157
+ listContacts ( ) ;
158
+ break ;
159
+ default :
160
+ menu ( ) ;
161
+ }
162
+ } ;
167
163
168
164
const addContact = ( ) => {
169
- rl . question ( ' Nombre pls -> ' , ( name ) => addContactTelephone ( name ) )
170
- }
171
-
172
- const addContactTelephone = ( name ) => {
173
- rl . question ( ' Teléfono porfa pls -> ' , ( tlf ) => {
174
- if ( tlf . length > 11 ) {
175
- console . log ( ' El teléfono no puede ser mayor a 11 dígitos' ) ;
176
- addContactTelephone ( ) ;
177
- } else if ( ! ( / ^ \d { 1 , 11 } $ / . test ( tlf ) ) ) {
178
- console . log ( ' El teléfono solo puede incluir dígitos numéricos' ) ;
179
- addContact ( ) ;
180
- } else {
181
- contacts . push ( { nombre : name , telefono : tlf } )
182
- console . log ( ' siuuuu, contacto añadido' ) ;
183
- listContacts ( ) ;
184
- }
185
- } )
186
- }
165
+ rl . question ( " Nombre pls -> " , ( name ) => addContactTelephone ( name ) ) ;
166
+ } ;
167
+
168
+ const addContactTelephone = ( name ) => {
169
+ rl . question ( " Teléfono porfa pls -> " , ( tlf ) => {
170
+ if ( tlf . length > 11 ) {
171
+ console . log ( " El teléfono no puede ser mayor a 11 dígitos" ) ;
172
+ addContactTelephone ( ) ;
173
+ } else if ( ! / ^ \d { 1 , 11 } $ / . test ( tlf ) ) {
174
+ console . log ( " El teléfono solo puede incluir dígitos numéricos" ) ;
175
+ addContact ( ) ;
176
+ } else {
177
+ contacts . push ( { nombre : name , telefono : tlf } ) ;
178
+ console . log ( " siuuuu, contacto añadido" ) ;
179
+ listContacts ( ) ;
180
+ }
181
+ } ) ;
182
+ } ;
187
183
188
184
const listContacts = ( ) => {
189
- console . log ( ' ' ) ;
190
- console . log ( '------------------' ) ;
191
- console . log ( ' ' ) ;
192
- console . log ( 'TUS CONTACTOS, REINA:' ) ;
193
- console . log ( ' ' ) ;
194
- contacts . map ( contact => console . log ( `Nombre: ${ contact . nombre } - Teléfono: ${ contact . telefono } ` ) )
195
- menu ( ) ;
196
- }
185
+ console . log ( " " ) ;
186
+ console . log ( "------------------" ) ;
187
+ console . log ( " " ) ;
188
+ console . log ( "TUS CONTACTOS, REINA:" ) ;
189
+ console . log ( " " ) ;
190
+ contacts . map ( ( contact ) =>
191
+ console . log ( `Nombre: ${ contact . nombre } - Teléfono: ${ contact . telefono } ` )
192
+ ) ;
193
+ menu ( ) ;
194
+ } ;
197
195
198
196
const deleteContact = ( ) => {
199
- rl . question ( ' A quien hacemos la cruz? -> ' , ( contact ) => {
200
- contacts = contacts . filter ( contact => contact . nombre === contact ) ;
201
- console . log ( ' eliminao >:)' ) ;
202
- menu ( ) ;
203
- } ) ;
204
- menu ( )
205
- }
206
-
207
- menu ( ) ;
197
+ rl . question ( " A quien hacemos la cruz? -> " , ( contact ) => {
198
+ contacts = contacts . filter ( ( contact ) => contact . nombre === contact ) ;
199
+ console . log ( " eliminao >:)" ) ;
200
+ menu ( ) ;
201
+ } ) ;
202
+ menu ( ) ;
203
+ } ;
204
+
205
+ menu ( ) ;
0 commit comments