Skip to content

Commit 66d495a

Browse files
authored
Merge pull request mouredev#3766 from agusrosero/develop
#13 - Javascript
2 parents 64bc99e + f07d48c commit 66d495a

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
/*
2+
* EJERCICIO:
3+
* Crea una función que se encargue de sumar dos números y retornar
4+
* su resultado.
5+
* Crea un test, utilizando las herramientas de tu lenguaje, que sea
6+
* capaz de determinar si esa función se ejecuta correctamente.
7+
*
8+
* DIFICULTAD EXTRA (opcional):
9+
* Crea un diccionario con las siguientes claves y valores:
10+
* "name": "Tu nombre"
11+
* "age": "Tu edad"
12+
* "birth_date": "Tu fecha de nacimiento"
13+
* "programming_languages": ["Listado de lenguajes de programación"]
14+
* Crea dos test:
15+
* - Un primero que determine que existen todos los campos.
16+
* - Un segundo que determine que los datos introducidos son correctos.
17+
*/
18+
19+
// EJERCICIO:
20+
const suma = (a, b) => {
21+
return a + b;
22+
};
23+
24+
result = suma(10, 5);
25+
if (result === 15) {
26+
console.log("El resultado es correcto!");
27+
} else {
28+
console.log("El resultado no es el esperado.");
29+
}
30+
31+
// DIFICULTAD EXTRA:
32+
miDiccionario = {
33+
name: "Hernan",
34+
age: 23,
35+
birthDate: "03-08-00",
36+
programmingLanguages: ["Python", "Javascript"],
37+
};
38+
39+
function testCampos() {
40+
const campos = ["name", "age", "birthDate", "programmingLanguages"];
41+
for (const campo of campos) {
42+
if (campo in miDiccionario) {
43+
console.log("Todos los campos estan en el diccionario");
44+
return true;
45+
}
46+
}
47+
console.log("Error uno de los campos no se encuentra en miDiccionario.");
48+
return false;
49+
}
50+
51+
testCampos();
52+
53+
function isDateValid(dateString) {
54+
const datePattern = /^\d{2}-\d{2}-\d{2}$/;
55+
return datePattern.test(dateString);
56+
}
57+
58+
function isProgrammingLanguagesValid(languages) {
59+
return (
60+
Array.isArray(languages) &&
61+
languages.every((lang) => typeof lang === "string")
62+
);
63+
}
64+
65+
function validarDiccionario(diccionario) {
66+
if (typeof diccionario.name !== "string" || diccionario.name.trim() === "") {
67+
console.log("Nombre invalido");
68+
return false;
69+
}
70+
71+
if (typeof diccionario.age !== "number" || diccionario.age <= 0) {
72+
console.log("Edad invalida");
73+
return false;
74+
}
75+
76+
if (!isDateValid(diccionario.birthDate)) {
77+
console.log("Fecha invalida");
78+
return false;
79+
}
80+
81+
if (!isProgrammingLanguagesValid(diccionario.programmingLanguages)) {
82+
console.log("Lenguaje de programacion invalido");
83+
return false;
84+
}
85+
86+
return true;
87+
}
88+
89+
if (validarDiccionario(miDiccionario)) {
90+
console.log("Todos los datos son correctos.");
91+
} else {
92+
console.log("Hay datos incorrectos en el diccionario.");
93+
}

0 commit comments

Comments
 (0)