1
00:00:01,170 --> 00:00:03,220
desafiémonos a nosotros mismos

2
00:00:03,220 --> 00:00:05,473
con el desafío de codificación número dos.

3
00:00:07,230 --> 00:00:09,260
Y en este, vamos a continuar

4
00:00:09,260 --> 00:00:12,130
con nuestra aplicación de apuestas de fútbol.

5
00:00:12,130 --> 00:00:13,600
Y permítanme comenzar diciendo

6
00:00:13,600 --> 00:00:16,920
que este desafío es en realidad un poco difícil.

7
00:00:16,920 --> 00:00:17,820
¿Está bien?

8
00:00:17,820 --> 00:00:19,580
Pero eso es a propósito.

9
00:00:19,580 --> 00:00:22,450
Entonces, después de todo, se llama un desafío.

10
00:00:22,450 --> 00:00:24,930
Y entonces realmente deberías desafiarte a ti mismo

11
00:00:24,930 --> 00:00:26,900
con estos ejercicios.

12
00:00:26,900 --> 00:00:28,430
De lo contrario, podría llamarse

13
00:00:28,430 --> 00:00:31,580
una codificación de copiar y pegar, ¿verdad?

14
00:00:31,580 --> 00:00:34,290
Así que por favor haz tu mejor esfuerzo para resolver estos.

15
00:00:34,290 --> 00:00:36,733
Y puedes probar el marco de resolución de problemas

16
00:00:36,733 --> 00:00:38,950
que hablábamos antes.

17
00:00:38,950 --> 00:00:41,760
Y por supuesto también puedes usar Google MDN

18
00:00:41,760 --> 00:00:43,710
y así sucesivamente y así sucesivamente.

19
00:00:43,710 --> 00:00:44,720
Bueno.

20
00:00:44,720 --> 00:00:48,890
Pero con eso fuera del camino, entremos en los ejercicios.

21
00:00:48,890 --> 00:00:53,470
Y el primero es recorrer la matriz game.scored

22
00:00:53,470 --> 00:00:56,720
y luego imprima cada uno de los jugadores en la consola

23
00:00:56,720 --> 00:00:58,940
junto con el número de gol.

24
00:00:58,940 --> 00:01:00,533
Así que este no es tan difícil.

25
00:01:01,520 --> 00:01:03,850
Y así que solo...

26
00:01:04,839 --> 00:01:06,010
Sí.

27
00:01:06,010 --> 00:01:08,260
Así que el objeto está aquí abajo,

28
00:01:08,260 --> 00:01:11,360
entonces vamos a usar el mismo objeto. ¿Está bien?

29
00:01:11,360 --> 00:01:14,050
Así que esta es la matriz de la que estaba hablando.

30
00:01:14,050 --> 00:01:15,408
Y aquí, en este caso,

31
00:01:15,408 --> 00:01:18,670
deberíamos imprimir el gol uno de "lewandowski",

32
00:01:18,670 --> 00:01:22,210
Luego aquí el gol dos, "Gnarby", el gol tres "Lewandowski",

33
00:01:22,210 --> 00:01:24,397
y el gol cuatro, "Hummels".

34
00:01:26,734 --> 00:01:28,250
Bueno.

35
00:01:28,250 --> 00:01:32,950
Luego, número dos, use un bucle para calcular la cuota promedio

36
00:01:32,950 --> 00:01:35,060
y registrarlo en la consola.

37
00:01:35,060 --> 00:01:38,380
Y ya estudiamos cómo calcular promedios.

38
00:01:38,380 --> 00:01:41,980
Así que puedes ir a comprobarlo si no te acuerdas.

39
00:01:41,980 --> 00:01:46,100
Y aquí deberías usar directamente el objeto en sí.

40
00:01:46,100 --> 00:01:49,610
Así que no destruyas el objeto primero en variables

41
00:01:49,610 --> 00:01:52,350
y luego usar eso para calcular el promedio,

42
00:01:52,350 --> 00:01:55,720
pero en cambio realmente calcule el promedio de los elementos

43
00:01:55,720 --> 00:01:58,570
en el objeto, ¿de acuerdo?

44
00:01:58,570 --> 00:02:01,830
Luego número tres, quiero que imprimas las tres probabilidades

45
00:02:01,830 --> 00:02:05,970
a la consola y hacerlo de una forma agradable,

46
00:02:05,970 --> 00:02:07,393
como se puede ver aquí.

47
00:02:09,970 --> 00:02:13,420
Ahora aquí, no se le permite codificar

48
00:02:13,420 --> 00:02:14,920
los nombres de los equipos.

49
00:02:14,920 --> 00:02:15,753
Está bien.

50
00:02:15,753 --> 00:02:19,453
Entonces, obténgalos directamente del objeto del juego en sí.

51
00:02:21,180 --> 00:02:23,380
Ahora, por supuesto, estás a excepción del sorteo.

52
00:02:23,380 --> 00:02:26,640
porque eso no está en ninguna parte del objeto del juego.

53
00:02:26,640 --> 00:02:30,430
Entonces, como pista, tengo miedo de que las probabilidades

54
00:02:30,430 --> 00:02:34,250
y los objetos del juego tienen exactamente los mismos nombres de propiedades.

55
00:02:34,250 --> 00:02:36,540
Y entonces puedes usar ese conocimiento tal vez

56
00:02:36,540 --> 00:02:38,923
para obtener el nombre de los equipos aquí.

57
00:02:40,690 --> 00:02:44,630
Así que estos son los tres ejercicios para este desafío,

58
00:02:44,630 --> 00:02:47,290
pero luego también tengo un bono.

59
00:02:47,290 --> 00:02:49,690
Ahora, déjame decirte que no voy a resolver

60
00:02:49,690 --> 00:02:51,720
esta pregunta adicional en este video

61
00:02:51,720 --> 00:02:54,740
porque me tomaría un poco demasiado tiempo

62
00:02:54,740 --> 00:02:56,350
pero igual pondre la solucion

63
00:02:56,350 --> 00:02:58,750
en el código final de esta sección,

64
00:02:58,750 --> 00:03:00,840
entonces en el repositorio de GitHub,

65
00:03:00,840 --> 00:03:02,680
para que pueda ver la solución allí

66
00:03:02,680 --> 00:03:05,770
si intentas hacer este bono.

67
00:03:05,770 --> 00:03:07,610
Así que este es realmente difícil.

68
00:03:07,610 --> 00:03:10,550
Y lo que quiero que hagas

69
00:03:10,550 --> 00:03:13,430
es crear un objeto llamado partituras,

70
00:03:13,430 --> 00:03:15,950
que contendrá el nombre de los jugadores

71
00:03:15,950 --> 00:03:19,200
que anotó como propiedades,

72
00:03:19,200 --> 00:03:22,410
y entonces Gnarby, Hummels y Lewandowski fueron los jugadores

73
00:03:22,410 --> 00:03:24,290
quien anotó en este juego.

74
00:03:24,290 --> 00:03:26,980
Y como valor para cada una de las propiedades

75
00:03:26,980 --> 00:03:29,790
queremos el número de goles.

76
00:03:29,790 --> 00:03:31,050
Está bien.

77
00:03:31,050 --> 00:03:33,930
Entonces esto significa que Lewandowski anotó dos goles.

78
00:03:33,930 --> 00:03:37,700
y los otros dos jugadores anotaron solo un gol cada uno.

79
00:03:37,700 --> 00:03:40,800
Así que esto es un poco difícil de nuevo

80
00:03:40,800 --> 00:03:42,530
Pero puedes hacerlo.

81
00:03:42,530 --> 00:03:45,190
Bueno, al menos con algo de investigación.

82
00:03:45,190 --> 00:03:47,960
y con un poco de repaso de todo el material

83
00:03:47,960 --> 00:03:50,170
del curso hasta ahora.

84
00:03:50,170 --> 00:03:53,170
De todos modos, buena suerte con este desafío.

85
00:03:53,170 --> 00:03:54,170
Tome su tiempo.

86
00:03:54,170 --> 00:03:55,370
Y te veré una vez

87
00:03:55,370 --> 00:03:56,203
estas listo.

88
00:04:00,350 --> 00:04:01,183
Está bien.

89
00:04:02,210 --> 00:04:07,210
Espero que hayas hecho al menos uno o dos de estos ejercicios.

90
00:04:08,060 --> 00:04:10,820
Y aquí va mi solución.

91
00:04:10,820 --> 00:04:13,050
Y ten en cuenta una vez más que mi solución

92
00:04:13,050 --> 00:04:16,430
puede ser diferente de la tuya, pero eso está totalmente bien.

93
00:04:16,430 --> 00:04:19,840
Siempre y cuando el tuyo produzca el mismo resultado.

94
00:04:19,840 --> 00:04:23,790
Así que aquí, el objetivo es anotar en la matriz anotada,

95
00:04:23,790 --> 00:04:26,920
e imprime todos los jugadores en la consola.

96
00:04:26,920 --> 00:04:31,920
Así que const, y volvamos a arreglar eso más tarde,

97
00:04:32,850 --> 00:04:37,850
y luego de game.cored.

98
00:04:38,110 --> 00:04:40,423
Y ahora realmente queremos las entradas.

99
00:04:42,640 --> 00:04:43,473
Está bien.

100
00:04:43,473 --> 00:04:46,730
Y queremos los índices porque también queremos

101
00:04:46,730 --> 00:04:47,910
el número de la portería.

102
00:04:47,910 --> 00:04:48,743
¿Recordar?

103
00:04:48,743 --> 00:04:50,773
Así que meta uno, dos, tres y cuatro.

104
00:04:51,880 --> 00:04:55,164
Bueno. Y así las entradas nos darán eso.

105
00:04:55,164 --> 00:04:58,170
Y ahora solo tenemos que reestructurar eso

106
00:04:58,170 --> 00:05:01,183
en el índice y luego en el reproductor.

107
00:05:04,190 --> 00:05:07,630
Bueno. En realidad, ni siquiera necesitamos llaves.

108
00:05:07,630 --> 00:05:11,310
Solo digamos, console.log y luego Goal,

109
00:05:15,350 --> 00:05:17,070
entonces el índice más uno.

110
00:05:17,070 --> 00:05:19,513
Para que comience en el objetivo número uno,

111
00:05:21,132 --> 00:05:23,433
y luego simplemente el jugador.

112
00:05:24,500 --> 00:05:25,523
Vamos a ver.

113
00:05:26,530 --> 00:05:28,570
Ah, y ahora tenemos el problema aquí.

114
00:05:28,570 --> 00:05:32,003
que estoy accediendo al juego antes de que se inicialice.

115
00:05:33,010 --> 00:05:35,483
Y entonces el problema es que el juego está aquí abajo.

116
00:05:36,560 --> 00:05:39,760
Así que tendré que tomar este objeto del juego ahora.

117
00:05:39,760 --> 00:05:41,113
a ese otro desafío.

118
00:05:42,480 --> 00:05:46,773
Así que vamos a cortarlo desde aquí y ponerlo aquí.

119
00:05:49,620 --> 00:05:51,080
Así que ahora debería funcionar.

120
00:05:51,080 --> 00:05:53,260
Y efectivamente conseguimos los cuatro goles

121
00:05:53,260 --> 00:05:55,070
muy bien impreso en la consola

122
00:05:56,000 --> 00:05:58,633
exactamente en el orden en que aparecen aquí.

123
00:06:01,890 --> 00:06:04,130
Muy bien, el siguiente.

124
00:06:04,130 --> 00:06:08,000
Y es uno que tenemos que calcular la cuota media.

125
00:06:08,000 --> 00:06:12,000
Así que el promedio básicamente de estos tres números aquí.

126
00:06:12,000 --> 00:06:16,340
Entonces, lo que vamos a hacer es recorrer este objeto aquí

127
00:06:16,340 --> 00:06:19,490
y simplemente agregue todos estos tres valores juntos

128
00:06:19,490 --> 00:06:23,920
y finalmente dividirlos por el número de elementos aquí.

129
00:06:23,920 --> 00:06:26,950
Y así es como se calcula un promedio.

130
00:06:26,950 --> 00:06:31,950
Entonces comenzamos creando el promedio y lo ponemos a cero.

131
00:06:34,220 --> 00:06:37,403
Y de nuevo, ya lo hicimos antes, creo.

132
00:06:38,410 --> 00:06:39,710
Y ahora podemos hacer un bucle

133
00:06:39,710 --> 00:06:43,073
sobre el objeto tal como te lo expliqué antes.

134
00:06:45,320 --> 00:06:50,320
const impar de, y ahora ¿qué es lo que realmente queremos?

135
00:06:51,030 --> 00:06:54,770
¿Queremos las claves o los valores o ambos?

136
00:06:54,770 --> 00:06:57,270
Bueno, en este caso, estamos realmente interesados

137
00:06:57,270 --> 00:06:59,373
en los valores, ¿verdad?

138
00:07:00,230 --> 00:07:03,760
Y entonces este Object.values ​​nos dará una matriz

139
00:07:03,760 --> 00:07:06,563
contiene esencialmente estos tres valores.

140
00:07:08,740 --> 00:07:13,740
Así que tenemos que decir game.odds.

141
00:07:15,260 --> 00:07:16,093
Bueno.

142
00:07:16,093 --> 00:07:17,210
Y ahora en cada iteración,

143
00:07:17,210 --> 00:07:20,560
simplemente sumaremos estas cuotas al promedio.

144
00:07:20,560 --> 00:07:21,490
Para que luego al final,

145
00:07:21,490 --> 00:07:26,363
podemos dividirlo por la longitud de esta matriz object.values.

146
00:07:27,580 --> 00:07:32,547
Así que hagamos eso, más igualar la cuota actual,

147
00:07:34,921 --> 00:07:38,613
y finalmente promedio, promedio dividido igual,

148
00:07:41,470 --> 00:07:46,470
y entonces este es uno nuevo, por object.values, game.odds,

149
00:07:52,319 --> 00:07:54,683
y luego registrémoslo en la consola.

150
00:07:56,880 --> 00:07:59,313
Así que este aquí significa básicamente,

151
00:07:59,313 --> 00:08:03,593
el promedio es igual al promedio dividido por esto aquí.

152
00:08:04,830 --> 00:08:06,840
Y esto es en realidad lo mismo que aquí,

153
00:08:06,840 --> 00:08:10,253
así que eso es refactorizarlo en, digamos,

154
00:08:14,480 --> 00:08:19,480
simplemente probabilidades, y luego usemos eso aquí.

155
00:08:20,900 --> 00:08:21,733
Impares,

156
00:08:23,010 --> 00:08:24,023
y probabilidades

157
00:08:26,930 --> 00:08:28,470
Y tenemos un problema.

158
00:08:28,470 --> 00:08:30,844
Así que hagamos algo de depuración aquí.

159
00:08:30,844 --> 00:08:34,540
Comenzaré echando un vistazo a la media.

160
00:08:34,540 --> 00:08:37,423
después de que se calcule aquí en la matriz.

161
00:08:39,200 --> 00:08:42,220
Tan promedio, oh.

162
00:08:42,220 --> 00:08:43,820
Así que aquí tenemos un número

163
00:08:43,820 --> 00:08:47,190
lo que significa que algo anda mal aquí en la división.

164
00:08:47,190 --> 00:08:48,580
Bien.

165
00:08:48,580 --> 00:08:52,793
Y veo que es porque necesitamos escribir odds.length.

166
00:08:54,020 --> 00:08:58,160
Bueno. Y entonces será el número tres en este caso.

167
00:08:58,160 --> 00:09:01,050
Entonces, antes de dividir por toda la matriz

168
00:09:01,050 --> 00:09:03,280
y eso no tiene ningún sentido.

169
00:09:03,280 --> 00:09:06,773
Y ahora deberíamos ver algo cercano a las cuatro aquí.

170
00:09:07,760 --> 00:09:11,560
Sí. Entonces 3.7 esencialmente.

171
00:09:11,560 --> 00:09:13,463
Y ese es nuestro resultado.

172
00:09:14,740 --> 00:09:15,850
Bueno.

173
00:09:15,850 --> 00:09:18,050
Y puedes ir a este código aquí de nuevo,

174
00:09:19,120 --> 00:09:21,470
si necesitas entender eso aún más,

175
00:09:21,470 --> 00:09:25,013
pero ahora pasemos aquí al ejercicio número tres.

176
00:09:26,300 --> 00:09:29,080
Y esta vez el objetivo es imprimir básicamente

177
00:09:29,080 --> 00:09:32,210
el contenido del objeto a la consola.

178
00:09:32,210 --> 00:09:34,101
Así que vamos a repetir eso.

179
00:09:34,101 --> 00:09:38,420
Y nuevamente, primero diré lo que necesitamos aquí en realidad.

180
00:09:38,420 --> 00:09:42,420
Así que queremos imprimir tanto el equipo como el impar,

181
00:09:42,420 --> 00:09:44,590
así que necesitamos todo el objeto.

182
00:09:44,590 --> 00:09:48,010
Y tal como aprendimos en una conferencia anterior,

183
00:09:48,010 --> 00:09:53,010
usamos object.entries de game.odds.

184
00:09:58,650 --> 00:10:02,590
Bueno. Y entonces sabemos que obtenemos una matriz de matrices,

185
00:10:02,590 --> 00:10:07,590
que en cada posición tendrá tanto el equipo como el impar.

186
00:10:07,780 --> 00:10:08,613
Está bien.

187
00:10:08,613 --> 00:10:13,083
Así que digamos equipo e impar.

188
00:10:15,200 --> 00:10:16,033
Está bien.

189
00:10:16,033 --> 00:10:19,190
Y aquí somos nosotros quienes definimos el nombre de la variable

190
00:10:19,190 --> 00:10:21,350
porque ahora es una matriz.

191
00:10:21,350 --> 00:10:23,763
Así que no tenemos que hacer coincidir ningún nombre de propiedad.

192
00:10:24,630 --> 00:10:28,190
Y comencemos simplemente iniciando sesión en la consola

193
00:10:28,190 --> 00:10:30,793
equipo y extraño.

194
00:10:33,180 --> 00:10:34,013
Bueno.

195
00:10:34,013 --> 00:10:36,780
Y de hecho, ya tenemos ese tipo de trabajo.

196
00:10:36,780 --> 00:10:38,660
Ya tenemos el equipo aquí

197
00:10:38,660 --> 00:10:41,663
y tenemos los tres valores impares.

198
00:10:42,740 --> 00:10:44,940
Ahora lo que queremos hacer es crear una cadena

199
00:10:46,360 --> 00:10:48,113
como esto.

200
00:10:49,350 --> 00:10:50,590
en realidad copiemos esto.

201
00:10:50,590 --> 00:10:52,123
Entonces sabemos lo que tenemos que hacer.

202
00:11:00,500 --> 00:11:02,587
Y por cierto, aquí, fíjate de nuevo,

203
00:11:02,587 --> 00:11:04,930
lo que te expliqué en la última lección,

204
00:11:04,930 --> 00:11:08,480
cómo en la matriz usamos el método de entradas

205
00:11:08,480 --> 00:11:10,310
para obtener las entradas de la matriz,

206
00:11:10,310 --> 00:11:13,900
pero en el objeto tenemos que usar object.entries

207
00:11:13,900 --> 00:11:16,090
y luego pasar a la función,

208
00:11:16,090 --> 00:11:19,080
el objeto que nos interesa.

209
00:11:19,080 --> 00:11:20,957
Así que esa es fundamentalmente la diferencia.

210
00:11:20,957 --> 00:11:22,633
Así que tenlo en mente.

211
00:11:25,100 --> 00:11:29,220
Bueno. Entonces aquí, ahora queremos construir una cadena como esa.

212
00:11:29,220 --> 00:11:34,220
Tan extraño de la victoria Bayern Munich,

213
00:11:34,880 --> 00:11:37,660
empate o victoria Borussia Dortmund.

214
00:11:37,660 --> 00:11:39,920
Y aquí, vamos a necesitar algo más de lógica.

215
00:11:39,920 --> 00:11:41,693
Pongamos aquí algunos puntos.

216
00:11:42,890 --> 00:11:45,080
Y ahora, ahora aquí lo raro.

217
00:11:45,080 --> 00:11:46,850
Así que lo extraño es la parte fácil.

218
00:11:46,850 --> 00:11:48,713
Así que eso ya lo tenemos terminado.

219
00:11:50,180 --> 00:11:53,113
Pero ahora aquí necesitamos una lógica más compleja.

220
00:11:54,050 --> 00:11:57,253
Y en realidad vamos a crear esta parte de la cadena.

221
00:11:58,250 --> 00:12:01,310
Así como la victoria Bayern Munich, o Borrusia Dortmund

222
00:12:01,310 --> 00:12:04,403
o dibujar, vamos a crearlo aquí en un valor separado.

223
00:12:08,720 --> 00:12:10,680
Así que llamemos a este teamString.

224
00:12:12,530 --> 00:12:14,050
Y aquí lo que voy a usar

225
00:12:14,050 --> 00:12:16,570
es usar el operador ternery.

226
00:12:16,570 --> 00:12:17,600
Bueno.

227
00:12:17,600 --> 00:12:21,570
Entonces diré que si el equipo aquí es x,

228
00:12:21,570 --> 00:12:22,530
como si lo tuviéramos aquí,

229
00:12:22,530 --> 00:12:25,090
entonces la cadena debería convertirse en draw.

230
00:12:25,090 --> 00:12:27,563
Y entonces eso creará esto aquí.

231
00:12:29,180 --> 00:12:34,180
Entonces el equipo es igual a x, entonces el resultado debería ser empate.

232
00:12:37,170 --> 00:12:42,130
Pero si no, entonces necesitamos el nombre del equipo.

233
00:12:42,130 --> 00:12:44,680
Entonces, ¿cómo conseguiremos eso?

234
00:12:44,680 --> 00:12:47,303
Y recuerda, había una pista sobre esto.

235
00:12:48,400 --> 00:12:49,970
Así que tenga en cuenta cómo las probabilidades

236
00:12:49,970 --> 00:12:53,610
y los objetos del juego tienen los mismos nombres de propiedades.

237
00:12:53,610 --> 00:12:56,700
Y de hecho aquí tenemos el equipo uno, el equipo dos,

238
00:12:56,700 --> 00:13:00,140
y aquí tenemos el equipo uno y el equipo dos también.

239
00:13:00,140 --> 00:13:02,653
Y aquí están los nombres de los equipos.

240
00:13:03,970 --> 00:13:07,060
Y ahora obtengamos los nombres de estos equipos.

241
00:13:07,060 --> 00:13:10,163
usando estas claves que ya tenemos aquí.

242
00:13:13,405 --> 00:13:15,520
Por eso queremos encadenar la victoria.

243
00:13:21,660 --> 00:13:25,483
Y luego vamos al objeto del juego y al equipo.

244
00:13:27,400 --> 00:13:28,363
Vamos a revisar.

245
00:13:29,580 --> 00:13:32,313
Ahora sé, por supuesto, que tenemos que poner esa cuerda aquí.

246
00:13:34,270 --> 00:13:39,270
Así que teamString y funciona muy bien.

247
00:13:41,330 --> 00:13:43,750
Así que recapitulemos esta parte aquí.

248
00:13:43,750 --> 00:13:46,010
Así que aquí vamos al juego,

249
00:13:46,010 --> 00:13:48,470
que es todo el objeto del juego

250
00:13:48,470 --> 00:13:51,230
y tomamos el equipo de la propiedad.

251
00:13:51,230 --> 00:13:54,810
Pero el equipo ya es el nombre de esta propiedad aquí, ¿verdad?

252
00:13:54,810 --> 00:13:56,610
Así que es el equipo uno o el equipo dos.

253
00:13:56,610 --> 00:13:59,580
Y entonces tomamos eso para leer la propiedad.

254
00:13:59,580 --> 00:14:02,003
con el mismo nombre del objeto del juego.

255
00:14:03,400 --> 00:14:06,733
Y por lo tanto tenemos al Bayern de Múnich y al Borussia Dortmund.

256
00:14:08,430 --> 00:14:09,361
Bueno. Excelente.

257
00:14:09,361 --> 00:14:12,460
Así que este fue un poco más difícil.

258
00:14:12,460 --> 00:14:15,320
pero al final lo logramos.

259
00:14:15,320 --> 00:14:18,120
Ahora, de nuevo, no crearé la solución.

260
00:14:18,120 --> 00:14:20,620
por el bono pero siempre puedes encontrarlo

261
00:14:20,620 --> 00:14:23,720
en el código final de esta sección.

262
00:14:23,720 --> 00:14:25,100
Y dicho esto,

263
00:14:25,100 --> 00:14:28,143
Ahora volvamos a aprender un poco más de JavaScript.