1
00:00:01,020 --> 00:00:03,783
El siguiente es el método de filtrado.

2
00:00:05,040 --> 00:00:06,450
Y, como su nombre lo dice,

3
00:00:06,450 --> 00:00:09,960
Podemos usar el método de filtro para filtrar.

4
00:00:09,960 --> 00:00:14,490
algunos elementos de la matriz en función de una condición.

5
00:00:14,490 --> 00:00:16,980
Entonces digamos que queremos crear una matriz.

6
00:00:16,980 --> 00:00:21,003
que sólo tiene libros que tengan más de 500 páginas.

7
00:00:22,440 --> 00:00:23,320
Así que digamos

8
00:00:24,780 --> 00:00:26,853
libros largos,

9
00:00:30,180 --> 00:00:32,823
y luego el filtro de puntos de libros.

10
00:00:33,690 --> 00:00:36,120
Dale un poco más de espacio aquí mismo.

11
00:00:36,120 --> 00:00:39,210
Y ahora aquí, la idea es la misma que antes.

12
00:00:39,210 --> 00:00:42,510
De nuevo, pasamos una función de devolución de llamada.

13
00:00:42,510 --> 00:00:44,553
que debería devolver algo.

14
00:00:45,420 --> 00:00:50,010
De nuevo, cada elemento de la matriz es un libro.

15
00:00:50,010 --> 00:00:53,160
Y ahora aquí, en lugar de devolvernos el valor que queremos

16
00:00:53,160 --> 00:00:56,970
en una nueva matriz, necesitamos devolver una condición que

17
00:00:56,970 --> 00:00:59,550
ser verdadero o falso.

18
00:00:59,550 --> 00:01:02,610
Y si el resultado de esa condición es verdadero,

19
00:01:02,610 --> 00:01:06,360
entonces el elemento actual irá a la matriz filtrada.

20
00:01:06,360 --> 00:01:11,360
Pero si es falso, básicamente se filtrará.

21
00:01:11,490 --> 00:01:13,260
Así que veamos eso en acción.

22
00:01:13,260 --> 00:01:18,260
Y digamos que las páginas de puntos del libro tienen más de 500

23
00:01:20,010 --> 00:01:21,453
y eso ya es todo.

24
00:01:23,160 --> 00:01:28,140
Entonces, coloquemos los libros largos aquí y cerremos aquí.

25
00:01:28,140 --> 00:01:30,060
Los libros tan largos deberían ser este.

26
00:01:30,060 --> 00:01:31,470
Y vemos inmediatamente

27
00:01:31,470 --> 00:01:34,713
que la matriz ahora solo tiene una longitud de tres.

28
00:01:35,550 --> 00:01:37,670
Entonces éste tiene 1.216 páginas.

29
00:01:38,736 --> 00:01:41,430
Este es 658,

30
00:01:41,430 --> 00:01:44,733
y luego aquí, también más de 500.

31
00:01:46,800 --> 00:01:48,450
Entonces, funcionó

32
00:01:48,450 --> 00:01:51,180
y ahora repasemos esto de nuevo

33
00:01:51,180 --> 00:01:52,683
para ver qué pasó realmente.

34
00:01:53,790 --> 00:01:57,390
Así como en el método map, esta función aquí,

35
00:01:57,390 --> 00:02:01,623
Esta devolución de llamada se llamará para cada elemento de la matriz.

36
00:02:02,610 --> 00:02:06,030
Entonces, repasemos la matriz una por una.

37
00:02:06,030 --> 00:02:07,980
Entonces este es el primer elemento.

38
00:02:07,980 --> 00:02:11,310
Y aquí, entonces se ejecutará esta condición.

39
00:02:11,310 --> 00:02:15,840
Así que reserve páginas con puntos superiores a 500, y efectivamente lo es.

40
00:02:15,840 --> 00:02:18,030
Y aquí, esta función,

41
00:02:18,030 --> 00:02:21,450
toda esta devolución de llamada aquí será verdadera.

42
00:02:21,450 --> 00:02:22,800
Y entonces, si es verdad,

43
00:02:22,800 --> 00:02:26,070
entonces ese elemento entra en la nueva matriz,

44
00:02:26,070 --> 00:02:28,143
así que en la nueva gama de libros largos.

45
00:02:30,780 --> 00:02:32,370
Bien, hagamos el siguiente.

46
00:02:32,370 --> 00:02:36,720
Aquí tenemos páginas sólo 295.

47
00:02:36,720 --> 00:02:37,553
Y entonces aquí,

48
00:02:37,553 --> 00:02:40,770
en el segundo elemento de la matriz, esto se volverá falso.

49
00:02:40,770 --> 00:02:41,850
Y si es falso,

50
00:02:41,850 --> 00:02:44,880
entonces el elemento básicamente se filtra.

51
00:02:44,880 --> 00:02:47,253
No llegará a la nueva matriz.

52
00:02:49,200 --> 00:02:51,390
Luego el filtro pasa al siguiente.

53
00:02:51,390 --> 00:02:55,020
Aquí tenemos 658, que ya vimos aquí en los resultados.

54
00:02:55,020 --> 00:02:58,590
Y claro, eso es porque tiene más de 500.

55
00:02:58,590 --> 00:03:00,780
Aquí, este nuevamente queda fuera.

56
00:03:00,780 --> 00:03:03,060
ya que solo tiene 200 y pico.

57
00:03:03,060 --> 00:03:05,340
Y finalmente el último.

58
00:03:05,340 --> 00:03:08,460
sí. "Juego de Tronos" es un libro largo.

59
00:03:08,460 --> 00:03:12,660
Eso, por supuesto, lo convierte en un conjunto de libros largos.

60
00:03:12,660 --> 00:03:13,500
lindo.

61
00:03:13,500 --> 00:03:18,030
Ahora podemos seguir agregando nuevos métodos aquí.

62
00:03:18,030 --> 00:03:21,840
Entonces, después de este filtro, podemos encadenar otro filtro.

63
00:03:21,840 --> 00:03:24,780
Y eso es posible simplemente porque este de aquí

64
00:03:24,780 --> 00:03:26,220
devuelve una nueva matriz.

65
00:03:26,220 --> 00:03:30,030
Y en las matrices, podemos llamar al filtro, ¿verdad?

66
00:03:30,030 --> 00:03:32,523
Y, por lo tanto, podemos volver a llamar filtro aquí.

67
00:03:34,920 --> 00:03:36,090
Y digamos ahora

68
00:03:36,090 --> 00:03:39,753
que sólo queremos los libros que tienen una adaptación cinematográfica.

69
00:03:41,190 --> 00:03:43,530
Entonces, de estos tres,

70
00:03:43,530 --> 00:03:45,700
entonces libro punto

71
00:03:48,360 --> 00:03:50,220
Tiene adaptación cinematográfica.

72
00:03:50,220 --> 00:03:53,400
Y eso ya es todo porque esto solo,

73
00:03:53,400 --> 00:03:57,210
entonces esta adaptación cinematográfica ya es un valor incorporado.

74
00:03:57,210 --> 00:03:59,850
Y aquí ni siquiera necesitamos escribir una condición.

75
00:03:59,850 --> 00:04:04,170
porque todo lo que necesitamos es devolver verdadero o falso,

76
00:04:04,170 --> 00:04:05,280
¿bien?

77
00:04:05,280 --> 00:04:09,390
Y ahora los libros largos, bueno, en realidad todavía son tres.

78
00:04:09,390 --> 00:04:11,160
Entonces parece que todos estos

79
00:04:11,160 --> 00:04:13,083
en realidad tienen adaptaciones cinematográficas.

80
00:04:16,890 --> 00:04:19,500
sí es cierto.

81
00:04:19,500 --> 00:04:22,980
Así que pongamos "Dune" aquí.

82
00:04:22,980 --> 00:04:25,500
Así que el libro número tres, pongámoslo en falso.

83
00:04:25,500 --> 00:04:27,783
Sólo para ver qué pasa.

84
00:04:29,850 --> 00:04:30,990
Ahora, ¿está bien?

85
00:04:30,990 --> 00:04:34,440
Y ahora efectivamente, esa película también ha sido filtrada.

86
00:04:34,440 --> 00:04:36,540
Entonces simplemente configuramos "Dune" en falso,

87
00:04:36,540 --> 00:04:41,460
y por eso ahora solo nos queda "El Señor de los Anillos"

88
00:04:41,460 --> 00:04:43,020
y "Juego de tronos".

89
00:04:43,020 --> 00:04:46,380
Así que estos son los únicos dos libros largos que tienen

90
00:04:46,380 --> 00:04:47,880
una adaptación cinematográfica.

91
00:04:47,880 --> 00:04:49,180
Entonces digamos libros largos.

92
00:04:50,580 --> 00:04:55,140
con película, ¿no?

93
00:04:55,140 --> 00:04:57,630
Ahora, este aquí fue sólo para mostrarles

94
00:04:57,630 --> 00:05:00,000
que podemos encadenar múltiples filtros.

95
00:05:00,000 --> 00:05:03,210
En la práctica, probablemente sería mejor simplemente

96
00:05:03,210 --> 00:05:05,940
Termina aquí, ¿verdad?

97
00:05:05,940 --> 00:05:09,813
Sería más eficiente, pero éste también funciona.

98
00:05:11,940 --> 00:05:14,940
Entonces, como esto es tan importante,

99
00:05:14,940 --> 00:05:18,390
Así que nuevamente usamos este filtro todo el tiempo en React.

100
00:05:18,390 --> 00:05:21,570
Este método es realmente muy importante.

101
00:05:21,570 --> 00:05:22,870
Hagamos otro aquí.

102
00:05:24,240 --> 00:05:28,023
Así que solo filtremos los libros de aventuras.

103
00:05:29,520 --> 00:05:31,290
Entonces, en realidad no filtrar,

104
00:05:31,290 --> 00:05:35,400
pero básicamente filtremos por libros de aventuras.

105
00:05:35,400 --> 00:05:37,533
Esa es una manera un poco mejor de decirlo.

106
00:05:40,500 --> 00:05:44,310
Entonces los libros filtran puntos,

107
00:05:44,310 --> 00:05:47,640
y nuevamente recorrerá toda la matriz de libros,

108
00:05:47,640 --> 00:05:50,070
y son dos libros.

109
00:05:50,070 --> 00:05:52,953
Y luego volvemos a nuestra variedad de géneros.

110
00:05:54,240 --> 00:05:56,160
Así que recuerda que se trata de una matriz.

111
00:05:56,160 --> 00:06:00,030
Y ahora lo que queremos es incluir libros en el array.

112
00:06:00,030 --> 00:06:04,440
donde la variedad de géneros incluye la aventura.

113
00:06:04,440 --> 00:06:06,180
Entonces estamos buscando libros de aventuras,

114
00:06:06,180 --> 00:06:10,617
y por eso, los libros de géneros punteados deberían incluir aventuras.

115
00:06:14,100 --> 00:06:17,190
Entonces incluye siempre devuelve verdadero o falso,

116
00:06:17,190 --> 00:06:19,863
y entonces, ahí mismo, tenemos nuestra condición.

117
00:06:21,450 --> 00:06:22,283
¿bueno?

118
00:06:23,340 --> 00:06:28,020
Así que libros de aventuras, pero en realidad hagamos algo primero.

119
00:06:28,020 --> 00:06:31,680
Así que encadenemos nuevamente otro método aquí,

120
00:06:31,680 --> 00:06:33,903
y esta vez, encadenemos un mapa.

121
00:06:35,760 --> 00:06:38,100
Entonces eso también está perfectamente bien.

122
00:06:38,100 --> 00:06:41,370
porque ya sabemos que esto aquí devuelve una matriz.

123
00:06:41,370 --> 00:06:44,523
Y entonces, en una matriz, siempre podemos llamar a map.

124
00:06:47,640 --> 00:06:49,830
De nuevo, llamémoslo libro, pero,

125
00:06:49,830 --> 00:06:53,670
Por supuesto, podría llamarse como quisiéramos.

126
00:06:53,670 --> 00:06:56,220
Entonces, en todos estos métodos aquí, lo llamamos libro

127
00:06:56,220 --> 00:07:00,420
porque eso es lo que tiene más sentido semánticamente.

128
00:07:00,420 --> 00:07:02,670
Pero si simplemente lo llamáramos X,

129
00:07:02,670 --> 00:07:05,550
como si funcionara exactamente de la misma manera, ¿verdad?

130
00:07:05,550 --> 00:07:09,300
Entonces esta es solo una función a la que podemos llamar parámetro,

131
00:07:09,300 --> 00:07:12,273
entonces el argumento de que recibe todo lo que queremos.

132
00:07:13,980 --> 00:07:17,670
Así que aquí de nuevo, devolvamos el título.

133
00:07:17,670 --> 00:07:20,170
para que el resultado sea un poco más fácil de leer.

134
00:07:21,390 --> 00:07:24,840
Entonces los libros que, o dónde,

135
00:07:24,840 --> 00:07:27,397
Los géneros que incluyen aventuras son “El Señor de los Anillos”,

136
00:07:27,397 --> 00:07:29,973
"Dune" y este libro de Harry Potter.

137
00:07:32,490 --> 00:07:35,553
Y si comprobamos eso, entonces efectivamente.

138
00:07:37,380 --> 00:07:38,790
Bueno, aquí no podemos ver eso.

139
00:07:38,790 --> 00:07:42,570
Eso se debe a la limitación de Qualcomm, donde

140
00:07:42,570 --> 00:07:45,930
No se puede ver tan profundamente el objeto con una versión gratuita.

141
00:07:45,930 --> 00:07:48,607
Pero te puedo asegurar que, por ejemplo,

142
00:07:48,607 --> 00:07:51,300
"El Señor de los Anillos", sí.

143
00:07:51,300 --> 00:07:53,190
Entonces ya ves, aquí tenemos aventura,

144
00:07:53,190 --> 00:07:57,120
y así este libro llegó a la lista final.

145
00:07:57,120 --> 00:07:58,500
Éste no.

146
00:07:58,500 --> 00:08:00,420
Por eso no estaba allí.

147
00:08:00,420 --> 00:08:03,240
Ésta, sí, ésta también es aventura.

148
00:08:03,240 --> 00:08:04,920
Y este también lo es.

149
00:08:04,920 --> 00:08:07,410
De alguna manera, "Juego de Tronos" no es una aventura.

150
00:08:07,410 --> 00:08:11,253
No estoy seguro de por qué es así, pero sí.

151
00:08:12,900 --> 00:08:15,390
Así es como combinamos un filtro.

152
00:08:15,390 --> 00:08:17,400
y un mapa de forma efectiva

153
00:08:17,400 --> 00:08:21,240
para modelar nuestros datos exactamente de la forma que queremos.

154
00:08:21,240 --> 00:08:24,570
Y así, desde el desarrollo front-end con React,

155
00:08:24,570 --> 00:08:27,420
y realmente cualquier otro marco frontal,

156
00:08:27,420 --> 00:08:30,450
Realmente se trata mucho de trabajar con datos,

157
00:08:30,450 --> 00:08:33,663
Estos métodos aquí son absolutamente esenciales.