Skip to content

Commit 0eff33c

Browse files
committed
#19 - JavaScript
1 parent d1c5fc9 commit 0eff33c

File tree

1 file changed

+93
-0
lines changed
  • Roadmap/19 - ENUMERACIONES/javascript

1 file changed

+93
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
const diasDeLaSemana = Object.freeze({
2+
1: 'Lunes',
3+
2: 'Martes',
4+
3: 'Miércoles',
5+
4: 'Jueves',
6+
5: 'Viernes',
7+
6: 'Sábado',
8+
7: 'Domingo'
9+
})
10+
11+
const obtenerDiaSemana = (dia) => {
12+
switch (dia) {
13+
case 1:
14+
console.log(diasDeLaSemana[1])
15+
break
16+
case 2:
17+
console.log(diasDeLaSemana[2])
18+
break
19+
case 3:
20+
console.log(diasDeLaSemana[3])
21+
break
22+
case 4:
23+
console.log(diasDeLaSemana[4])
24+
break
25+
case 5:
26+
console.log(diasDeLaSemana[5])
27+
break
28+
case 6:
29+
console.log(diasDeLaSemana[6])
30+
break
31+
case 7:
32+
console.log(diasDeLaSemana[7])
33+
break
34+
default:
35+
console.log('Día de la semana no encontrado.')
36+
}
37+
}
38+
39+
obtenerDiaSemana(4)
40+
41+
const estado = Object.freeze({
42+
PENDIENTE: 'PENDIENTE',
43+
ENVIADO: 'ENVIADO',
44+
ENTREGADO: 'ENTREGADO',
45+
CANCELADO: 'CANCELADO'
46+
})
47+
48+
49+
// DIFICULTAD EXTRA
50+
class Pedido {
51+
52+
constructor() {
53+
this._id = Date.now()
54+
this._estado = 'PENDIENTE'
55+
}
56+
57+
getId() {
58+
return this._id
59+
}
60+
61+
getEstado() {
62+
return this._estado
63+
}
64+
65+
setEstado(estado) {
66+
const estadoActual = this.getEstado()
67+
if (estadoActual === 'PENDIENTE') {
68+
if (estado === 'ENVIADO' || estado === 'CANCELADO') this._estado = estado
69+
}
70+
if (estadoActual === 'ENVIADO') {
71+
if (estado === 'ENTREGADO' || estado === 'CANCELADO') this._estado = estado
72+
}
73+
}
74+
75+
mostrarDetalle() {
76+
return `#${this.getId()} - Estado: ${this.getEstado()}`
77+
}
78+
79+
}
80+
81+
console.log('--- PEDIDO 1 ---')
82+
const pedido1 = new Pedido()
83+
console.log(pedido1.mostrarDetalle())
84+
pedido1.setEstado(estado.ENVIADO)
85+
console.log(pedido1.mostrarDetalle())
86+
pedido1.setEstado(estado.ENTREGADO)
87+
console.log(pedido1.mostrarDetalle())
88+
89+
console.log('--- PEDIDO 2 ---')
90+
const pedido2 = new Pedido()
91+
console.log(pedido2.mostrarDetalle())
92+
pedido2.setEstado(estado.CANCELADO)
93+
console.log(pedido2.mostrarDetalle())

0 commit comments

Comments
 (0)