1 00:00:00,330 --> 00:00:05,310 Welcome back, welcome to another lecture today, we're going to talk about JavaScript worries and about 2 00:00:05,310 --> 00:00:06,090 data structures. 3 00:00:06,090 --> 00:00:09,330 So JavaScript are one of the most basic form of data structures. 4 00:00:09,630 --> 00:00:18,100 OK, now, before I start explaining, just let's create the first array called first array. 5 00:00:18,240 --> 00:00:18,660 Wow. 6 00:00:18,810 --> 00:00:19,920 That's was pretty nice. 7 00:00:20,190 --> 00:00:24,800 So how do we know that we're creating a rate while we need to use this brackets, an inside array. 8 00:00:24,840 --> 00:00:25,890 We can have one. 9 00:00:26,490 --> 00:00:29,110 We can have zero or multiple items. 10 00:00:29,280 --> 00:00:34,800 Now, if we don't specify any items, this is only the declaration of an empty array. 11 00:00:35,100 --> 00:00:40,650 OK, now, but if we want to have items inside, we can have multiple items. 12 00:00:40,650 --> 00:00:44,820 In this case, I'm going to use three strings, so I'm just going to name them first. 13 00:00:45,330 --> 00:00:49,710 And they need to be spaced with the comma and third loops. 14 00:00:50,690 --> 00:00:51,780 Now you need to put quotes. 15 00:00:51,780 --> 00:00:54,840 So single quotes or double quotes will do a job, right? 16 00:00:55,830 --> 00:00:56,370 Very good. 17 00:00:56,980 --> 00:01:00,870 Now, these are called items inside the array. 18 00:01:01,620 --> 00:01:02,890 But how we can access them? 19 00:01:02,910 --> 00:01:07,530 Well, I'm just going to make your life easy and console that. 20 00:01:07,530 --> 00:01:09,970 Log the first array. 21 00:01:11,070 --> 00:01:11,610 Save it. 22 00:01:11,940 --> 00:01:14,770 Go back into the browser and there you go. 23 00:01:15,120 --> 00:01:17,310 So we have first, second, third. 24 00:01:17,490 --> 00:01:19,860 And the length of the entire is three. 25 00:01:20,200 --> 00:01:22,040 Now, look at this side. 26 00:01:22,050 --> 00:01:25,480 Well, we have here starts from zero one two. 27 00:01:25,740 --> 00:01:27,870 So these are called indexes. 28 00:01:28,080 --> 00:01:30,780 So our arrays are based on indexes. 29 00:01:30,810 --> 00:01:31,500 So they work. 30 00:01:31,830 --> 00:01:33,360 We starting from zero. 31 00:01:33,540 --> 00:01:40,050 That's why when we do the for loop, remember, we used variable AI to be equal to zero. 32 00:01:40,050 --> 00:01:44,830 So we initialize variable AI to to hold the value to start from zero. 33 00:01:44,850 --> 00:01:45,560 And why is this. 34 00:01:45,570 --> 00:01:52,580 Well now we can add, you will know because when we use an array we can print out probably this part 35 00:01:52,590 --> 00:01:55,690 now probably first element with using the index. 36 00:01:56,160 --> 00:02:00,690 So let's let me close this one because it's flicking all the time. 37 00:02:02,960 --> 00:02:11,060 Right, sorry about this, guys say that we don't need it now, how we got how I can access the first 38 00:02:11,270 --> 00:02:12,510 item of this array. 39 00:02:12,860 --> 00:02:18,690 Well, I do know the indexes, so cancel that lock first rate. 40 00:02:18,860 --> 00:02:21,190 I need to put the brackets in the position. 41 00:02:21,410 --> 00:02:24,230 Now, I know the position because it started from zero. 42 00:02:24,410 --> 00:02:24,980 OK. 43 00:02:26,020 --> 00:02:27,880 Very good first. 44 00:02:28,860 --> 00:02:37,700 Let me just right here, a common get the first first item from an array. 45 00:02:38,240 --> 00:02:38,400 Nice. 46 00:02:38,980 --> 00:02:42,360 I'm just going to copy this one and I'm going to do it two times. 47 00:02:42,780 --> 00:02:45,570 Second and third. 48 00:02:46,050 --> 00:02:46,680 Very good. 49 00:02:46,710 --> 00:02:47,040 Now. 50 00:02:48,260 --> 00:02:53,990 In order to get the second one you put here, sorry, one and you need to get the last one is the third 51 00:02:54,290 --> 00:02:55,680 you need to put here, too. 52 00:02:55,940 --> 00:03:03,800 Now, I have all of these items stored like this, but it's very good idea not to use guns a lot just 53 00:03:03,800 --> 00:03:12,350 to create the first variable with any name that you want and just put the first array of sorry of zero. 54 00:03:13,220 --> 00:03:16,730 Now, instead of counseling, log the first array. 55 00:03:16,730 --> 00:03:21,140 You can cancel out the first variable and you can reuse it later on. 56 00:03:21,140 --> 00:03:21,430 Right. 57 00:03:21,710 --> 00:03:23,240 So it will yield the same result. 58 00:03:23,690 --> 00:03:25,850 So let me just copy this one. 59 00:03:26,240 --> 00:03:29,330 Make a comment here coming out this one. 60 00:03:30,260 --> 00:03:36,110 And I'm doing this because you will know what we have done in the last second. 61 00:03:37,340 --> 00:03:41,300 And that will be the first array of. 62 00:03:42,810 --> 00:03:52,090 One and I'm just going to copy this here and let's call it third, and this will be number two. 63 00:03:52,530 --> 00:03:53,230 Very good. 64 00:03:53,370 --> 00:03:55,050 So I'm going to cause a lot better. 65 00:03:55,050 --> 00:03:58,610 And also I need to do the same with the second one. 66 00:03:59,460 --> 00:03:59,970 Nice. 67 00:04:02,240 --> 00:04:02,810 Very good. 68 00:04:02,840 --> 00:04:03,290 Save it. 69 00:04:03,710 --> 00:04:05,010 Now I have the same results. 70 00:04:05,580 --> 00:04:09,860 Oh, yeah, we spent a little bit time of explaining this, but it's all good now. 71 00:04:09,860 --> 00:04:16,720 The arrays, we can store multiple values, but can we store a different data in JavaScript types? 72 00:04:17,040 --> 00:04:17,630 Yes. 73 00:04:17,630 --> 00:04:22,370 And we can store any data, any JavaScript type that we want. 74 00:04:22,820 --> 00:04:24,820 And that is called a mixed theory. 75 00:04:25,070 --> 00:04:26,900 But it's never good to have a mystery. 76 00:04:26,900 --> 00:04:27,170 Why? 77 00:04:27,170 --> 00:04:33,050 Because the data structures are all about relationship between those data that we put inside. 78 00:04:33,080 --> 00:04:33,350 Right. 79 00:04:33,530 --> 00:04:41,060 So we can it's going to be easy for us to navigate through that data if we use something like this, 80 00:04:41,060 --> 00:04:46,160 if we use aree, that is with strings or if you use array of numbers. 81 00:04:46,220 --> 00:04:50,780 OK, now let's create this mystery. 82 00:04:52,030 --> 00:04:52,600 VAR. 83 00:04:53,550 --> 00:05:02,790 Mix, all right, and now this array can hold one to three. 84 00:05:04,600 --> 00:05:11,800 For right, true, false, so it can have no strings booleans. 85 00:05:12,220 --> 00:05:13,750 And also we can have a function. 86 00:05:13,750 --> 00:05:20,020 So function makes very good counsel that law makes. 87 00:05:21,470 --> 00:05:27,690 How cool is this now the function can have oops, I didn't call this function console the lock makes. 88 00:05:28,370 --> 00:05:29,690 All right, very good. 89 00:05:30,710 --> 00:05:32,750 And now we have seven items. 90 00:05:33,110 --> 00:05:36,860 We do have one, two, three, their numbers and their blue four. 91 00:05:37,460 --> 00:05:40,020 Then we have boolean values, four and five. 92 00:05:40,610 --> 00:05:43,040 This is a string and we have the last one. 93 00:05:43,040 --> 00:05:45,140 It's function, right? 94 00:05:45,410 --> 00:05:45,960 Oh, good. 95 00:05:46,640 --> 00:05:52,190 Now you know that the mixed array can have a different JavaScript type. 96 00:05:54,560 --> 00:05:55,400 Very good. 97 00:05:55,430 --> 00:05:59,210 Now, what is something else that I want to show you? 98 00:05:59,600 --> 00:06:04,160 Well, now you know how you can create a mixed array. 99 00:06:04,640 --> 00:06:09,170 So let's move on to something more interesting and an array can have. 100 00:06:10,970 --> 00:06:14,940 Inside another arena, and that is very interesting. 101 00:06:14,960 --> 00:06:23,620 For example, let's create a reservoir called Inner Oray or are only that is a short version. 102 00:06:24,050 --> 00:06:34,630 Now here I'm just going to say, Rick, and inside I will have another array with my details. 103 00:06:34,640 --> 00:06:37,030 For example, one, two, three, four or five. 104 00:06:37,220 --> 00:06:47,540 That will be, for example, student I.D. Then I will have a place of living or country. 105 00:06:49,970 --> 00:06:56,180 But in order to specify another array inside this array, you need to use again these brackets. 106 00:06:56,990 --> 00:07:02,060 Let's a the NRA and see what I will have. 107 00:07:02,780 --> 00:07:03,300 Very good. 108 00:07:03,500 --> 00:07:08,320 Now here say that I have Rick as a string and then I have array of three elements. 109 00:07:08,720 --> 00:07:09,080 Nice. 110 00:07:09,170 --> 00:07:13,950 So if you go like this on the first position, I will have that array. 111 00:07:14,270 --> 00:07:18,590 So for example, if I want to grab that Inari or. 112 00:07:20,080 --> 00:07:26,430 Einar Oray or just Nuray here, I'm just going to call it Nuray, very good. 113 00:07:26,680 --> 00:07:28,540 And I want to grab only this one. 114 00:07:28,570 --> 00:07:37,330 So how I can do this Inari of a position one, because in that position, that is the position where 115 00:07:37,330 --> 00:07:40,650 this Inari is stored on index one. 116 00:07:40,690 --> 00:07:41,330 Very good. 117 00:07:41,470 --> 00:07:48,340 So if I can't log the new array now, I will have the only one single array here. 118 00:07:48,430 --> 00:07:49,060 Very good. 119 00:07:50,650 --> 00:07:56,680 Now, basically what I can do, I can just grab any item from here based on the position zero one, 120 00:07:56,680 --> 00:07:57,240 the three. 121 00:07:57,490 --> 00:08:01,720 But even here, even if I don't save it anywhere, I can still grab it. 122 00:08:02,040 --> 00:08:03,850 For example, the Inari. 123 00:08:05,350 --> 00:08:07,480 So I'm going to say, let's grab Malbon here. 124 00:08:07,570 --> 00:08:07,960 Right. 125 00:08:09,880 --> 00:08:13,120 Let's find Nadelberg. 126 00:08:15,870 --> 00:08:19,320 From the inner all right, very good. 127 00:08:19,440 --> 00:08:23,170 So how we can do this without storing this to a new array? 128 00:08:23,670 --> 00:08:26,150 Now I'm just going to the console boops. 129 00:08:27,750 --> 00:08:35,340 Because I use caps, caps, lock, cancel that lock and let's start like this in hurry again and it 130 00:08:35,340 --> 00:08:36,110 will give me this. 131 00:08:36,150 --> 00:08:38,280 Now I just want to access the number one. 132 00:08:38,470 --> 00:08:39,150 Very good. 133 00:08:41,960 --> 00:08:50,240 Save it now, it will get me the entire array, you know, I can just click here and see that the Melbourne 134 00:08:50,240 --> 00:08:56,570 is on position one, so how I can get that position while here I can put another pair of bracket and 135 00:08:56,570 --> 00:08:58,480 put number one and let's save it. 136 00:08:59,120 --> 00:09:01,820 Now, I do have the item called Mount Melbourne. 137 00:09:02,210 --> 00:09:02,630 Nice. 138 00:09:03,230 --> 00:09:05,360 So we can practice this one. 139 00:09:05,690 --> 00:09:07,820 And it's very easy to understand. 140 00:09:08,720 --> 00:09:18,800 Now JavaScript comes with predefined methods or for the arrays and we can use them straight out of the 141 00:09:18,800 --> 00:09:19,250 box. 142 00:09:19,580 --> 00:09:24,710 Well, for that in order to show you J.S. predefine. 143 00:09:28,650 --> 00:09:29,180 Methods. 144 00:09:31,070 --> 00:09:40,620 Well, I need to create an array, for example, colors, and this will be a little bit of writing for 145 00:09:40,620 --> 00:09:40,920 me. 146 00:09:41,430 --> 00:09:42,810 The second will be orange. 147 00:09:43,890 --> 00:09:45,630 The third will be blue. 148 00:09:46,950 --> 00:09:48,540 Then it will be brown. 149 00:09:50,070 --> 00:09:51,780 The four will be black. 150 00:09:53,070 --> 00:09:56,030 They will start with be then yellow. 151 00:09:58,830 --> 00:10:01,710 Then I will have a green color in the last. 152 00:10:01,710 --> 00:10:03,100 I want to have a purple. 153 00:10:04,530 --> 00:10:05,140 Very good. 154 00:10:05,550 --> 00:10:10,500 Now I will use let's cancel the lock the array to see what's happening. 155 00:10:10,680 --> 00:10:12,350 Cancel the log the colors. 156 00:10:13,980 --> 00:10:15,900 That's the name of the race and color. 157 00:10:16,110 --> 00:10:22,970 And I do have the entire holding eight items starting from position zero or index zero. 158 00:10:23,820 --> 00:10:28,950 So first method that I want to show you, it's called shift. 159 00:10:29,820 --> 00:10:31,710 And what does this shift means? 160 00:10:31,980 --> 00:10:37,950 She will remove the zero index from this array. 161 00:10:38,160 --> 00:10:39,640 So the zero is red. 162 00:10:39,870 --> 00:10:42,740 OK, so how I can use this method. 163 00:10:42,870 --> 00:10:47,670 So I need to use colors, the name of the array then shift. 164 00:10:48,180 --> 00:10:50,910 And because it's a method I need to use. 165 00:10:51,800 --> 00:10:57,180 These brackets save it, do it like this, console the log. 166 00:10:57,200 --> 00:11:04,640 Remember that you need to lock the not console colors again Durry in order to see the changes. 167 00:11:05,660 --> 00:11:11,960 And voila, I do have seven now in the red is missing and orange became zero. 168 00:11:11,960 --> 00:11:13,270 And before I have. 169 00:11:13,280 --> 00:11:13,550 Oops. 170 00:11:14,840 --> 00:11:16,130 Before I had. 171 00:11:17,250 --> 00:11:25,890 Right to be zero, right, and shoot, we should have here the red as a zero and I'm not sure why it's 172 00:11:25,890 --> 00:11:27,450 not checking out doesn't matter. 173 00:11:27,660 --> 00:11:29,250 So the orange now became zero. 174 00:11:29,430 --> 00:11:33,390 And it's not the red is not in the items in here. 175 00:11:33,390 --> 00:11:34,380 You can see the size. 176 00:11:34,380 --> 00:11:35,280 It's seven. 177 00:11:35,520 --> 00:11:36,220 Very good. 178 00:11:36,600 --> 00:11:44,140 Now, let's cut this one from here and test it out a little bit and see what will happen. 179 00:11:44,400 --> 00:11:47,480 So if I just you don't need a semicolon inside. 180 00:11:47,730 --> 00:11:56,270 So if you save this one and go back now, it will give me the red or the item I just removed from the 181 00:11:56,520 --> 00:11:59,160 or the item that I shift or remove. 182 00:11:59,280 --> 00:12:01,190 Take it out from here from this array. 183 00:12:01,470 --> 00:12:07,620 So this give me an option for for me so I can create a variable color red, because I know that the 184 00:12:07,620 --> 00:12:13,560 red is the name of the first item and I can just do this, save it here. 185 00:12:13,890 --> 00:12:14,560 Very good. 186 00:12:15,120 --> 00:12:18,950 Now in that very old red it will hold the item. 187 00:12:18,960 --> 00:12:25,020 So if I do right now again, I will have the value or what is stored from this function. 188 00:12:25,260 --> 00:12:29,140 So now just print out the colors again. 189 00:12:29,970 --> 00:12:35,770 So now I take one item, but I also store that item here just in case I will need them in future. 190 00:12:35,940 --> 00:12:36,480 Very good. 191 00:12:37,710 --> 00:12:40,160 Another method that I want to show you is called unshaved. 192 00:12:40,170 --> 00:12:47,880 So these methods will add a new item at the beginning of the array, or it's totally opposite to the 193 00:12:47,880 --> 00:12:48,480 shift one. 194 00:12:49,960 --> 00:12:56,860 Actually, I'm just going to copy the entire one, just going to put it here and shivved will be on 195 00:12:56,860 --> 00:12:57,330 shift. 196 00:12:57,760 --> 00:12:58,330 Very good. 197 00:12:58,570 --> 00:13:05,230 So Koller's unshaved and now what item I want to put here. 198 00:13:05,350 --> 00:13:07,360 So this should be on shivved. 199 00:13:09,440 --> 00:13:09,710 Good. 200 00:13:12,730 --> 00:13:19,570 Now, fully unshaved, we need to specify what we want to put in the beginning of the array. 201 00:13:19,690 --> 00:13:23,240 Well, I just want to put the item that I just remove. 202 00:13:23,680 --> 00:13:24,760 Let's see if it's going to work. 203 00:13:25,690 --> 00:13:26,640 Nice. 204 00:13:26,690 --> 00:13:33,410 Now, I do have a seven with the shift and now I do have back the entire array. 205 00:13:33,850 --> 00:13:43,460 Also, what you can do, you can make a comment here and seeing here a shift and this one saying on. 206 00:13:44,580 --> 00:13:45,240 Shift. 207 00:13:48,350 --> 00:13:49,880 Also, make sure that you put a comma there. 208 00:13:51,420 --> 00:13:52,410 So shift. 209 00:13:53,460 --> 00:13:58,420 Removes one item, unshaved adds item, and we added the same one that we just remove. 210 00:13:58,740 --> 00:14:00,180 Very good now. 211 00:14:01,240 --> 00:14:07,810 How we can remove the last element from this array, for example, the purple, well, there is a function 212 00:14:07,810 --> 00:14:09,640 for that or a method called. 213 00:14:10,670 --> 00:14:11,120 But. 214 00:14:12,030 --> 00:14:16,170 So we're going to use the pop method to remove the last. 215 00:14:17,560 --> 00:14:21,670 Item on the array now, what are we going to do here? 216 00:14:21,700 --> 00:14:25,840 I'm going to say colors, dot, pop. 217 00:14:28,970 --> 00:14:40,220 And cancel that log and we'll say pop hooks and colors again, we need to print out the array in order 218 00:14:40,220 --> 00:14:41,390 to see if it's working. 219 00:14:41,670 --> 00:14:47,330 Well, I do have seven and I don't have the purple anymore, and that is great. 220 00:14:47,870 --> 00:14:59,310 But also, pop, it pops the item from the array and I can store that one as last so far purple. 221 00:15:00,890 --> 00:15:01,460 Very good. 222 00:15:01,850 --> 00:15:04,940 So now we just removed and also we store this one. 223 00:15:04,950 --> 00:15:12,530 So if you want to make sure that the correct Color Purple is there, just cancel that log the purple 224 00:15:13,700 --> 00:15:14,230 variable. 225 00:15:14,450 --> 00:15:17,400 OK, let's see where we get. 226 00:15:17,420 --> 00:15:19,130 I do have the purple now. 227 00:15:19,130 --> 00:15:19,870 I'm good to go. 228 00:15:20,240 --> 00:15:25,710 So it's always good to store whatever you are popping or shifting. 229 00:15:25,850 --> 00:15:30,710 So in future, if you want to return them back, you can right now. 230 00:15:32,090 --> 00:15:38,810 If you want to return this item, we can push this one back to the rate so we can push anything that 231 00:15:38,810 --> 00:15:42,230 we want, but this will add the new item at the end. 232 00:15:42,230 --> 00:15:45,870 So logically is to push the proposal back. 233 00:15:46,190 --> 00:15:46,850 Very good. 234 00:15:47,120 --> 00:15:49,010 I'm just going to copy this one here. 235 00:15:49,430 --> 00:15:52,810 And I'm just we don't need this one anymore. 236 00:15:53,360 --> 00:15:54,530 We don't need this one anymore. 237 00:15:54,650 --> 00:15:56,270 But we need to use the push method. 238 00:15:56,360 --> 00:15:58,370 And the push method requires an argument. 239 00:15:58,490 --> 00:15:59,540 Which argument is that? 240 00:15:59,540 --> 00:16:03,380 The variable from here now this will be push. 241 00:16:06,260 --> 00:16:06,990 Very good. 242 00:16:07,010 --> 00:16:15,110 Now, I do have my original Ari back because I first we shift one, then we on shift that one, then 243 00:16:15,110 --> 00:16:22,440 we pop the last one, then we return that one to the push method back to its place. 244 00:16:22,730 --> 00:16:23,530 Very good. 245 00:16:23,810 --> 00:16:25,910 So we have learned a couple of methods. 246 00:16:26,210 --> 00:16:33,340 Now, another one that is very interesting is and it's very vital everyone is using it's called sword. 247 00:16:33,500 --> 00:16:44,960 Now we can sort the array so collars lets me control that lock collars, that sword and that is pretty 248 00:16:44,960 --> 00:16:45,610 much it. 249 00:16:46,580 --> 00:16:47,800 You need the brackets there. 250 00:16:49,730 --> 00:16:50,930 Let's put it here. 251 00:16:50,930 --> 00:16:56,180 Comment sort, because we do want to know what we are doing. 252 00:16:56,660 --> 00:16:57,200 Very good. 253 00:16:57,200 --> 00:17:00,890 Now Sword and we do have black, blue, brown, green. 254 00:17:01,070 --> 00:17:03,290 These are sorting alphabetically. 255 00:17:03,710 --> 00:17:04,100 Good. 256 00:17:04,580 --> 00:17:11,900 So one couple of more things that I want to show you is that we can concatenate on arrays, same as 257 00:17:11,900 --> 00:17:12,410 we do. 258 00:17:12,410 --> 00:17:15,980 We concatenate strings, we can concatenate arrays. 259 00:17:16,190 --> 00:17:18,980 Well, let's do this. 260 00:17:19,700 --> 00:17:22,360 I want to add pink to this array. 261 00:17:22,370 --> 00:17:34,370 So how can do this, let's say concat here now colors that concat here it is the method and I can add 262 00:17:34,520 --> 00:17:34,940 pink. 263 00:17:36,320 --> 00:17:36,950 Save it. 264 00:17:36,950 --> 00:17:38,120 Cancel that log. 265 00:17:39,730 --> 00:17:44,350 Colors now they should add a pink. 266 00:17:46,260 --> 00:17:51,810 Wait, here it is now, let me just make sure that I use concat. 267 00:17:55,070 --> 00:18:00,710 Here and now it's going to be more real, but what is happening, where is the pink? 268 00:18:01,580 --> 00:18:02,830 Well, the pink is not there. 269 00:18:03,230 --> 00:18:03,740 Why? 270 00:18:04,070 --> 00:18:10,750 Because we just can't get the colors with the pink, but we never save it or store it in these colors. 271 00:18:10,970 --> 00:18:13,620 So the solution is very easy. 272 00:18:13,820 --> 00:18:19,760 So what I can do, I can say I'm just going to comment this one out and I'm going to copy it. 273 00:18:20,150 --> 00:18:31,250 Now, in order to save it, we need to use colors equal to colors that concatenating now in this array, 274 00:18:31,520 --> 00:18:37,420 in the region rate that I have here, I saved a new one with the pink color inside. 275 00:18:37,430 --> 00:18:39,580 So save it and I'm just going to print it out. 276 00:18:40,070 --> 00:18:41,050 And there you go. 277 00:18:41,060 --> 00:18:44,870 Now, you do have the pink color there. 278 00:18:45,470 --> 00:18:47,420 And that's it for this lecture, ladies and gentlemen. 279 00:18:47,420 --> 00:18:53,000 So if you want to if you don't if you didn't understand some things, just go watch this lecture again. 280 00:18:53,300 --> 00:18:55,220 But this is pretty much it there. 281 00:18:55,220 --> 00:18:57,440 More more of these methods. 282 00:18:57,860 --> 00:18:59,530 But I can't do all of them. 283 00:18:59,540 --> 00:19:10,880 So what you need to do is pretty much go to V three schools and just find or research about other methods 284 00:19:10,880 --> 00:19:13,310 that we can use on arrays and a predefine. 285 00:19:13,610 --> 00:19:15,650 Now, do the exercise. 286 00:19:15,650 --> 00:19:21,020 It will require you to do a little bit of searching online and that's the goal so you can find more 287 00:19:21,020 --> 00:19:22,610 things in practice. 288 00:19:22,610 --> 00:19:24,460 So I will see you in the next one. 289 00:19:24,500 --> 00:19:28,370 Sorry, this was super long, but it had to be done by.