Skip to content

Commit 000f28e

Browse files
authored
Merge pull request mouredev#4739 from JeronimoCardu/miSolucion
#00 - javascript
2 parents 6c4c3d8 + 08449a6 commit 000f28e

File tree

4 files changed

+333
-0
lines changed

4 files changed

+333
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// https://www.javascript.com
2+
3+
/**
4+
* https://www.javascript.com
5+
*/
6+
7+
/*
8+
https://www.javascript.com
9+
*/
10+
11+
let variableLet;
12+
const variableConst = 0;
13+
14+
let string = 'Hola mundo!';
15+
let number = 0;
16+
let boolean = true;
17+
let undefined = undefined;
18+
let isNull = null;
19+
20+
console.log('¡Hola, JavaScript!')
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
let a = 2;
2+
let b = 3;
3+
4+
// OPERADORES ARITMETICOS
5+
let suma = a + b; // Suma
6+
let resta = a - b; // Resta
7+
let multiplicacion = a * b; // Multiplicacion
8+
let division = a / b; // Division
9+
let exponente = a ** b; // Potenciacion
10+
let residuo = b % a; // Resiudo
11+
// ejemplo
12+
if((a+b) > 0){
13+
console.log('La suma da un numero natural')
14+
}
15+
16+
// OPERADORES LOGICOS
17+
18+
a === b // Igualdad estricta
19+
a == b // Igualdad pero no incluye el tipo de dato
20+
a !== b // Desigualdad estricta
21+
a != b // Desiguldad
22+
a > b // Mayor que..
23+
a >= b // Mayor o igual que..
24+
a < b // Menor que..
25+
a <= b // Menor o igual que..
26+
a && b // AND
27+
a || b // OR
28+
!a // Negacion
29+
if(a === b){
30+
console.log('Son iguales');
31+
} else if(a > b){
32+
console.log('A mayor que B');
33+
} else{
34+
console.log('B mayor que A');
35+
}
36+
37+
38+
// OPERADORES DE ASIGNACION
39+
40+
let variable = 'Hola mundo';
41+
const texto = variable;
42+
a += 1; // Asignacion y suma
43+
a -= 1; // Asignacion y resta
44+
for(let i=0; i<5; i++){
45+
console.log(variable[i]);
46+
}
47+
48+
// OPERADORES DE IDENTIDAD
49+
50+
const objeto1 = {nombre: 'Jeronimo'};
51+
if('nombre' in objeto1){
52+
console.log('LA PERSONA TIENE NOMBRE Y ES', objeto1.nombre)
53+
}
54+
55+
// OPERADORES DE PERTENENCIA
56+
57+
const persona = {
58+
nombre: 'Jeronimo',
59+
edad: 19,
60+
}
61+
if(persona.edad > 17){
62+
console.log(persona.nombre, 'es mayor de edad')
63+
}
64+
65+
// EXTRA
66+
for(let i=10; i<55; i++){
67+
if(i%2 === 0 && i !== 16 && i%3 !== 0){
68+
console.log(i)
69+
}
70+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
// Funcion vacia
2+
function vacio(){
3+
console.log('Hola soy una funcion sin parametros ni retorno');
4+
}
5+
vacio()
6+
7+
// Funcion con parametros y return
8+
function completa(a, b){
9+
return `Hola soy una function y estoy retornando el parametro A: ${a} y B: ${b}`;
10+
}
11+
completa()
12+
13+
// funcion dentro de otra funcion
14+
function funcion(){
15+
function segundaFuncion(){
16+
return 'Se puede crear funciones dentro de funciones';
17+
}
18+
console.log(segundaFuncion());
19+
}
20+
funcion();
21+
22+
// funcion ya creadas de JS
23+
function isNumber(a){
24+
if(!isNaN(a)){
25+
console.log('Es un numero!');
26+
} else{
27+
console.log('No es un numero!');
28+
}
29+
}
30+
isNumber(2);
31+
32+
// Variables locales y globales
33+
let variableGlobal = 'Puedo ser usado de forma global';
34+
function local(){
35+
let variableLocal = 'Soy una variable local';
36+
console.log(variableGlobal); // Funciona porque es global
37+
console.log(variableLocal); // Funciona porque está dentro de la funcion donde fue creada
38+
}
39+
// console.log(variableLocal) // No funciona porque es LOCAL
40+
local();
41+
42+
// EXTRA
43+
function extra(str1, str2){
44+
let veces = 0;
45+
for(let i = 1; i <= 100; i++){
46+
if(i%3 === 0 && i%5 === 0){
47+
console.log(i, str1,'y', str2);
48+
veces += 2;
49+
}else if(i%5 === 0){
50+
console.log(i, str2);
51+
veces++;
52+
}else if(i%3 === 0){
53+
console.log(i, str1);
54+
veces++;
55+
} else{
56+
console.log(i);
57+
}
58+
}
59+
return veces;
60+
}
61+
console.log(`Hay ${extra('Multiplo de 3', 'Multiplo de 5')} numeros multiplo de 3 y/o 5`);
62+
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
// ESTRUCTURAS SOPORTADAS DE JS
2+
3+
const { clear } = require('console');
4+
const { read } = require('fs');
5+
6+
// Primitivos
7+
let number = 12;
8+
let string = 'Hola mundo!';
9+
let boolean = true;
10+
let indefinito = undefined;
11+
let isNull = null;
12+
13+
// Objetos
14+
let objeto1 = {
15+
nombre: 'Jeronimo',
16+
edad: 22,
17+
lenguaje: 'javascript',
18+
};
19+
objeto1["sexo"] = 'hombre'; // insercion
20+
delete objeto1.lenguaje; // borrado
21+
objeto1.edad = 20 // actualizacion
22+
console.log(objeto1)
23+
24+
let arreglo1 = [1, 2, 3, 4];
25+
let arreglo2 = ['a', 'b', 'c', 'd'];
26+
arreglo1.push(7); // insercion
27+
arreglo2.pop(); // borrado
28+
arreglo1[0] = 0; // actualizado
29+
arreglo1.reverse(); // ordenado
30+
31+
console.log(arreglo1);
32+
console.log(arreglo2);
33+
34+
function unaFuncion(){
35+
console.log('Soy una funcion');
36+
}
37+
38+
let fecha = new Date();
39+
40+
// Otros
41+
let promesa = new Promise((res, rej) => {
42+
// operacion
43+
})
44+
45+
async function funcionAsync(){
46+
let variable = await promesa//....
47+
};
48+
49+
50+
51+
// EXTRA
52+
let contactos = [
53+
{nombre: 'Jeronimo', numero: 123456788},
54+
]
55+
56+
const readline = require('readline').createInterface({
57+
input: process.stdin,
58+
output: process.stdout,
59+
})
60+
// Busqueda de contacto
61+
function busqueda(name){
62+
let encontrado = false;
63+
for(let i of contactos){
64+
if(i.nombre === name){
65+
console.log(`\nEl número telefonico de ${name} es: ${i.numero}`);
66+
encontrado = true;
67+
}
68+
}
69+
if(!encontrado) console.log(`\n${name} no esta en nuestra agenda`);
70+
espera();
71+
}
72+
// Insercion de contacto
73+
function insercion(newName, newNumber){
74+
let encontrado = false;
75+
for(let i of contactos){
76+
if(i.numero === newNumber){
77+
console.log('\nEste numero ya esta agendado, debe haber un error..');
78+
encontrado = true;
79+
}
80+
}
81+
if(newNumber.toString().length >= 11 || isNaN(newNumber)){
82+
console.log('\nDebe ser numerico y menor a 11 digitos de largo..')
83+
}
84+
if(!encontrado && !isNaN(newNumber) && newNumber.toString().length < 11) {
85+
contactos.push({nombre: newName, numero: newNumber});
86+
console.log(`\nContacto agregado: ${newName} - ${newNumber}`);
87+
}
88+
espera();
89+
}
90+
function actualizacion(toUpdate, newName, newNumber){
91+
let encontrado = false;
92+
for(let i of contactos){
93+
if(i.nombre === toUpdate){
94+
i.nombre = newName;
95+
i.numero = newNumber;
96+
encontrado = true;
97+
break;
98+
}
99+
}
100+
if(!encontrado) console.log(`\n${toUpdate} no está en nuestra agenda`);
101+
if(newNumber.toString().length >= 11 || isNaN(newNumber)) console.log('\nDebe ser numerico y menor a 11 digitos de largo..');
102+
espera();
103+
}
104+
function eliminar(conctact){
105+
let incialLength = contactos.length;
106+
contactos = contactos.filter(persona => persona.nombre !== conctact);
107+
if(incialLength > contactos.length){
108+
console.log(`\n${conctact} se ha eliminado con exito!`);
109+
} else{
110+
console.log(`No se encontro ${conctact} en nuestros contactos`)
111+
}
112+
espera();
113+
}
114+
function espera(){
115+
readline.question('\nPrecione ENTER para continuar..', (tecla) =>{
116+
if(tecla === ''){
117+
console.clear();
118+
agenda()
119+
} else{
120+
espera();
121+
}
122+
})
123+
}
124+
function makeNumber(str){
125+
let number = parseInt(str);
126+
return number;
127+
}
128+
function makeName(name){
129+
let nameMod = name[0].toUpperCase() + name.slice(1).toLowerCase();
130+
return nameMod;
131+
}
132+
133+
function agenda(){
134+
console.log(`
135+
======= Agenda Telefonica ======= \n
136+
1. Buscar contacto
137+
2. Agregar contacto
138+
3. Actulizar contacto
139+
4. Borrar contacto
140+
0. Salir \n`);
141+
142+
readline.question('Elija una opcion: ', (opcion) => {
143+
opcionNumber = parseInt(opcion);
144+
switch (opcionNumber){
145+
case 1:
146+
readline.question('Ingrese el nombre de la persona que quiere buscar: ', (nombreBuscado) =>{
147+
busqueda(makeName(nombreBuscado));
148+
})
149+
break;
150+
case 2:
151+
readline.question('Ingrese el nombre del contacto que quiere agregar: ', (newNameContact) => {
152+
readline.question('Ahora ingrese el número del nuevo contacto: ', (newNumContact) => {
153+
insercion(makeName(newNameContact), makeNumber(newNumContact));
154+
})
155+
})
156+
break;
157+
case 3:
158+
readline.question('Ingrese el nombre del contacto que quiere actualizar: ', (contactToUpdate) => {
159+
readline.question('Ingrese el nuevo nombre del contacto: ', (nameUpdate) =>{
160+
readline.question('Ingrese el nuevo número del contacto: ', (numberUpdate) => {
161+
actualizacion(makeName(contactToUpdate), makeName(nameUpdate), makeNumber(numberUpdate));
162+
})
163+
})
164+
})
165+
break;
166+
case 4:
167+
readline.question('Ingrese el nombre del contacto que desea eliminar: ', (contactToDelete) =>{
168+
eliminar(makeName(contactToDelete));
169+
})
170+
break;
171+
case 0:
172+
console.log('\nSaliendo..')
173+
readline.close();
174+
break;
175+
default:
176+
console.log(`"${opcionNumber}" no es una opcion valida`);
177+
espera();
178+
}
179+
})
180+
}
181+
agenda()

0 commit comments

Comments
 (0)