Skip to content

Commit e370f03

Browse files
authored
Merge pull request mouredev#1031 from mariovelascodev/mi_solucion
#3 - Javascript
2 parents 0bc44eb + 284d85c commit e370f03

File tree

1 file changed

+211
-0
lines changed

1 file changed

+211
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
//Listas
2+
3+
console.log("----LISTAS----");
4+
5+
lista = [1, 2, "hola", 3, 4];
6+
console.log(lista);
7+
8+
//Inserción
9+
//Añade el valor indicado al final de la lista
10+
lista.push("manzana");
11+
console.log(lista);
12+
13+
//Añade el valor indicado al principio de la lista
14+
lista.unshift(true);
15+
console.log(lista);
16+
17+
//Borrado
18+
//Elimina el último valor de la lista
19+
lista.pop();
20+
console.log(lista);
21+
22+
//Elimina el primer valor de la lista
23+
lista.shift();
24+
console.log(lista);
25+
26+
//Actualización
27+
//Se actualiza el valor de la posición indicada
28+
lista[3] = "Python"
29+
console.log(lista);
30+
31+
/*
32+
Con el método slice() se pueden actualizar los valores del array
33+
- Primer parámetro la posición a modificar
34+
- Segundo parámetro el número de valores a modificar
35+
- Tercer parámetro el nuevo valor
36+
*/
37+
lista.splice(4, 1, 54);
38+
console.log(lista);
39+
40+
//Ordenación
41+
lista.sort();
42+
console.log(lista);
43+
44+
//Objetos
45+
46+
console.log("----OBJETOS----");
47+
48+
let objeto = {
49+
nombre: "Mario",
50+
edad: 33,
51+
altura: 1.80
52+
};
53+
54+
console.log(objeto);
55+
56+
//Inserción
57+
objeto.developer = true;
58+
59+
console.log(objeto);
60+
//Borrado
61+
delete objeto.altura;
62+
63+
console.log(objeto);
64+
65+
//Actualizado
66+
objeto.nombre = "Laura";
67+
68+
console.log(objeto);
69+
70+
objeto["nombre"] = "Mario";
71+
console.log(objeto);
72+
73+
//Ordenación
74+
//Los objetos no pueden ser ordenados
75+
76+
//Map
77+
78+
console.log("----MAP----");
79+
80+
let mapa = new Map();
81+
82+
console.log(mapa);
83+
84+
//Inserción
85+
//Método set(clave, valor)
86+
mapa.set("1", "str1");
87+
mapa.set(1, 'num1');
88+
mapa.set(true, 'bool1');
89+
90+
console.log(mapa);
91+
92+
//Borrado
93+
//Método delete(clave)
94+
mapa.delete(1);
95+
96+
console.log(mapa);
97+
98+
//Actualizado
99+
mapa.set(true, "bool2");
100+
101+
console.log(mapa);
102+
103+
//Ordenación
104+
//Los mapas no pueden ser ordenados
105+
106+
//Set
107+
108+
console.log("----SET----");
109+
110+
let miSet = new Set();
111+
112+
console.log(miSet);
113+
114+
//Inserción
115+
//Método add(valor)
116+
miSet.add(true);
117+
miSet.add(2);
118+
miSet.add("str");
119+
120+
console.log(miSet)
121+
122+
//Borrado
123+
//Método delete(valor)
124+
miSet.delete(2);
125+
126+
console.log(miSet);
127+
128+
//Los Set no pueden ser actualizados ni ordenados
129+
130+
//Extra
131+
132+
console.log("----EXTRA----");
133+
134+
function contactList() {
135+
//Creamos un objeto , que contendrá el nombre y el teléfono de los contactos
136+
let agenda = {
137+
Mario: 123456678,
138+
Sara: 1423423435
139+
};
140+
141+
//Creamos una variable booleana para poder controlar el bucle del menu de opciones
142+
let leave = true;
143+
144+
//Creamos el bucle que contendra el menu de opciones
145+
while (leave) {
146+
//Mostramos las opciones del menu y preguntamos al usuario que desea hacer
147+
let ask = prompt(`¿Qué desea hacer?
148+
1 - Búsqueda de contacto
149+
2 - Añadir contacto
150+
3 - Actualizar contacto
151+
4 - Eliminar contacto
152+
5 - Salir` );
153+
154+
let answer = parseInt(ask);
155+
156+
//Dependiendo de la opción seleccionada el menu entrará en dicha opción
157+
switch (answer) {
158+
case 1:
159+
//Se introduce por consola el nombre del usuario a buscar
160+
let search = prompt("Introduce el nombre del contacto a buscar ");
161+
if (agenda[search] == undefined) {
162+
console.log("Usuario no encontrado");
163+
} else {
164+
console.log(agenda[search]);
165+
}
166+
break;
167+
case 2:
168+
//Añadimos el nombre y el número de teléfono del nuevo contacto
169+
let add = prompt("Añade el nombre del nuevo contacto ");
170+
let condition = true;
171+
//Si el número de teléfono no tiene 9 dígitos o no es un número, se le pedirá al usuario que vuelva a introducir el número
172+
while (condition) {
173+
let number = prompt("Añade el número de teléfono ");
174+
if (number.length == 9) {
175+
number = parseInt(number);
176+
if (Number.isInteger(number)) {
177+
agenda[add] = number;
178+
console.log("Contacto añadido");
179+
condition = false;
180+
} else {
181+
console.log("No has introducido un número");
182+
}
183+
} else {
184+
console.log("La longitud del número es menor o superior a 9 dígitos");
185+
};
186+
};
187+
break;
188+
case 3:
189+
//Se pide por consola el nombre del contacto y el número de teléfono que se actualizará
190+
let update_name = prompt("Añade el nombre del contacto ");
191+
let update_phone = prompt("Añade el número de teléfono a actualizar ");
192+
agenda[update_name] = parseInt(update_phone);
193+
console.log("Actualizado el número de teléfono del contacto");
194+
break;
195+
case 4:
196+
//Se pide por consola el nombre del contacto a eliminar
197+
let remove = prompt("Añade el nombre del contacto a eliminar ")
198+
delete agenda.remove;
199+
console.log(`Eliminado el contacto de ${remove}`);
200+
break;
201+
case 5:
202+
//Finalizar el programa
203+
leave = false;
204+
break;
205+
default:
206+
console.log("Introduce un número entre 1 y 5");
207+
}
208+
}
209+
};
210+
211+
contactList();

0 commit comments

Comments
 (0)