All language subtitles for 131 Collections_ Working with Javascript Arrays.en_US

af Afrikaans
sq Albanian
am Amharic
ar Arabic Download
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:02,560 --> 00:00:10,520 So a little while ago I had a 24 party, and I invited some people, and those people invited 2 00:00:10,520 --> 00:00:12,220 some people, and before you know it, 3 00:00:12,240 --> 00:00:14,910 I've got a massive guest list to manage. 4 00:00:14,920 --> 00:00:17,060 So what's the obvious solution? 5 00:00:17,100 --> 00:00:22,440 Well, code, of course. We’re programmers, we have all the codes. So I thought, what if I could write a script 6 00:00:22,480 --> 00:00:27,390 that asked the guests for their name and checks against a guest list to see whether or not they should 7 00:00:27,390 --> 00:00:28,510 be admitted? 8 00:00:28,530 --> 00:00:33,600 Now the actual implementation was done via Alexa, which is a little bit hairy, but let's see if we can 9 00:00:33,600 --> 00:00:36,360 make a basic version of this using Javascript. 10 00:00:36,360 --> 00:00:42,630 Now using what we know about Javascript so far, we could write maybe like a gigantic conditional statement, 11 00:00:42,660 --> 00:00:50,480 say if guest name equals Angela then alert("Welcome!), 12 00:00:50,820 --> 00:01:02,370 else if guest name equals Jack then alert("Welcome!"), and so on and so forth until I basically break my 13 00:01:02,370 --> 00:01:04,620 fingers or I run out of motivation. 14 00:01:04,650 --> 00:01:10,890 So the problem here is that we've seen that you can store data in variables but we've only been able 15 00:01:10,890 --> 00:01:13,260 to store a single piece of data, 16 00:01:13,350 --> 00:01:16,750 so for example var a equals Angela. 17 00:01:16,980 --> 00:01:22,920 And we've seen that you can store different data types, but how can we store a collection of related 18 00:01:22,920 --> 00:01:27,260 items into the same container or the same variable? 19 00:01:27,600 --> 00:01:30,880 Well, this is a case for creating an array. 20 00:01:30,960 --> 00:01:33,770 So let's say that we have a single piece of data, an egg 21 00:01:33,780 --> 00:01:41,220 in this case. Instead of storing a single egg into a variable, we can also store it inside an array, or, 22 00:01:41,220 --> 00:01:43,690 say, an egg box full of eggs. 23 00:01:43,850 --> 00:01:46,720 And this is essentially what an array is. 24 00:01:46,860 --> 00:01:49,190 It's a collection of items that 25 00:01:49,200 --> 00:01:55,840 are related, and they can be stored together into the same container or the same variable. 26 00:01:55,950 --> 00:01:58,110 And this is what the syntax looks like. 27 00:01:58,110 --> 00:01:59,450 So you would create a variable, 28 00:01:59,460 --> 00:02:00,190 give it a name, 29 00:02:00,210 --> 00:02:08,430 let's say call it eggs, and we can set it to equal a bunch of data and enclose it inside these square 30 00:02:08,430 --> 00:02:11,760 brackets, with commas in between each piece of data. 31 00:02:12,000 --> 00:02:18,780 And, if we try to retrieve a piece of data from this array, then we can simply use the name of the array, 32 00:02:19,020 --> 00:02:25,880 eggs, and specify the position of the data inside the array by using, again, square brackets. 33 00:02:26,030 --> 00:02:28,880 Now just take a quick guess. Which egg 34 00:02:28,890 --> 00:02:33,640 do you think my egg will equal if I run these lines of code, 35 00:02:33,780 --> 00:02:41,720 given that the position that I'm trying to tap into is the egg at position 1 inside the eggs array? 36 00:02:41,820 --> 00:02:47,430 So if you remember from before we said that computers always start counting from zero. 37 00:02:47,580 --> 00:02:51,490 So as programmers we also always start counting from zero. 38 00:02:51,630 --> 00:02:55,900 So the first egg in the array is in fact at position zero, 39 00:02:56,190 --> 00:03:01,430 and that means that the second egg is in fact the one at position 1, which is a little bit weird, 40 00:03:01,650 --> 00:03:06,540 but this is the egg that we would get and we would store inside that variable 41 00:03:06,540 --> 00:03:07,430 myEgg, 42 00:03:07,620 --> 00:03:10,870 if we ran the code that said var myEgg = eggs 43 00:03:10,920 --> 00:03:12,490 [1]. 44 00:03:12,500 --> 00:03:14,910 Now we can other things with arrays as well. 45 00:03:14,910 --> 00:03:16,760 We can say eggs.length, 46 00:03:16,890 --> 00:03:24,030 and this counts the eggs inside the eggs array and gives us the number 5 back, because there are 5 items 47 00:03:24,150 --> 00:03:25,160 inside the array. 48 00:03:25,260 --> 00:03:31,680 So using arrays we can create a very simple guest list. So we can say something like, for example, var 49 00:03:31,890 --> 00:03:39,150 guestList = [], and it's really important to remember that whenever 50 00:03:39,150 --> 00:03:46,020 you see square brackets, then it's usually something to do with a collection data type such as an array, 51 00:03:46,230 --> 00:03:51,870 and we use these square brackets when we're creating arrays as well as when we're trying to retrieve items 52 00:03:51,870 --> 00:03:52,600 from arrays. 53 00:03:52,620 --> 00:03:58,020 So this is a telltale sign that we're dealing with something that holds a number of data items such 54 00:03:58,020 --> 00:03:58,850 as an array. 55 00:03:58,890 --> 00:04:03,560 So inside our guest list I'm going to add all of these names that are on the guest list. 56 00:04:03,570 --> 00:04:10,530 So let's turn these names into strings and now I can add them one by one into the guest list remembering 57 00:04:10,530 --> 00:04:13,710 to add a comma in between each piece of data. 58 00:04:13,710 --> 00:04:20,490 So here's our brand new array that is stored inside a variable called guestList. And this array contains 59 00:04:20,550 --> 00:04:27,600 all the names of the people who are on my guest list. So you can see that if I use console.log and 60 00:04:27,600 --> 00:04:34,890 I try to print what's inside my variable guest list then it'll print out all of the items inside my array 61 00:04:34,890 --> 00:04:40,460 like so, and it will also tell me that there are 6 items inside this array. 62 00:04:40,470 --> 00:04:42,660 Now we can also find this out by simply saying 63 00:04:42,660 --> 00:04:46,960 guestList.length, and this will do exactly the same thing, 64 00:04:46,980 --> 00:04:52,650 it will count how many pieces of data are currently inside the guest list and give you a output of that 65 00:04:52,650 --> 00:04:53,520 number. 66 00:04:53,520 --> 00:04:57,420 Now let's see if we can retrieve the first guest on that guest list. 67 00:04:57,420 --> 00:05:04,840 So, remember, when we want to retrieve items from the array, we have to start counting from 0. And we retrieve 68 00:05:04,840 --> 00:05:10,510 items in the same way that we create items, using the square brackets, and inside the square brackets 69 00:05:10,570 --> 00:05:15,300 we specify the position of the data that we want to retrieve. 70 00:05:15,310 --> 00:05:23,420 So let's say that if I want the first piece of data, then I would say guestList [0]. And this, 71 00:05:23,440 --> 00:05:24,740 if I console.log it, 72 00:05:24,940 --> 00:05:26,980 you can see is Angela, 73 00:05:26,980 --> 00:05:31,110 which we can confirm is the first piece of data inside our array. 74 00:05:31,210 --> 00:05:37,450 Now another cool thing that you can do with arrays is that you can use the function includes to find 75 00:05:37,450 --> 00:05:40,480 out if an array includes a particular item. 76 00:05:40,480 --> 00:05:45,820 So, for example, in this case, if I say eggs.includes this specific egg, then the computer will look through 77 00:05:45,820 --> 00:05:51,330 your array and see if it matches with any of the items inside the array. 78 00:05:51,640 --> 00:05:57,120 And if it does then this line of code will return true, and if it doesn't then it will return false. 79 00:05:57,130 --> 00:06:00,790 So we get a boolean as the output of this function. 80 00:06:00,880 --> 00:06:07,690 So, given what you've just learnt, can you write some code that creates a prompt that asks the guest what 81 00:06:07,690 --> 00:06:10,620 is their name, which they will then type into the prompt, 82 00:06:10,690 --> 00:06:14,890 then you will check their name against all of the names inside our guest list, 83 00:06:14,980 --> 00:06:21,100 and if it does exist then it will send an alert saying "Welcome!", and if it doesn't exist we'll tell 84 00:06:21,100 --> 00:06:22,240 them "Sorry, 85 00:06:22,450 --> 00:06:29,260 maybe next time.". So, I'll go through the solution with you shortly after, but pause the video now and try 86 00:06:29,260 --> 00:06:30,300 and give that a go. 87 00:06:30,520 --> 00:06:35,350 You might need to rewind the video back and review some of the concepts that we spoke about in this 88 00:06:35,350 --> 00:06:36,160 lesson. 89 00:06:36,160 --> 00:06:41,080 All right. So the first thing we're going to do is we're going to create a variable called guestName, 90 00:06:41,280 --> 00:06:46,980 and this will be set to equal the response that we get back from the user when we ask them 91 00:06:47,020 --> 00:06:48,230 "What is your name?". 92 00:06:48,250 --> 00:06:57,340 And now we can check to see if the guest list includes the guest name by using that includes function 93 00:06:57,350 --> 00:07:03,430 that we spoke about earlier on, and this will return either true or false depending on whether if the 94 00:07:03,430 --> 00:07:06,630 guest name is included inside the guest list. 95 00:07:06,670 --> 00:07:09,180 So let's run our code and see what we get. 96 00:07:09,250 --> 00:07:13,990 So I'll give it a name that I know is definitely on the guest list, so my own. 97 00:07:14,120 --> 00:07:14,580 I'm going to hit 98 00:07:14,650 --> 00:07:22,330 OK. Now that name is going to be stored inside guestName, and our next line of code on line 6 is going 99 00:07:22,330 --> 00:07:24,380 to check inside the guest list, 100 00:07:24,430 --> 00:07:29,220 is there a piece of data that is equal to the guest name, and we get back 101 00:07:29,260 --> 00:07:35,620 true, so in fact the guest list does include the guest name. But say if we put in some random name or 102 00:07:35,620 --> 00:07:38,480 some random characters, then we get false 103 00:07:38,500 --> 00:07:41,900 once this line of code is evaluated. 104 00:07:41,900 --> 00:07:49,400 So how can we use this to give the user a different alert based on this condition? 105 00:07:49,660 --> 00:07:56,200 Yep, you guessed it, we have to use conditionals. So if we use this as the condition, then we can create 106 00:07:56,200 --> 00:08:03,130 an if statement that sends an alert which tells the user "Welcome!", and if the condition was false then 107 00:08:03,130 --> 00:08:07,350 we'd give them an alert that says "Sorry, maybe next time.". 108 00:08:07,360 --> 00:08:13,060 So now, if we run our code, we can see if I give it a name that it recognizes, 109 00:08:13,060 --> 00:08:18,400 it'll give me an alert saying "Welcome!", and if I give it a name that it doesn't recognize, then it'll say 110 00:08:18,400 --> 00:08:19,820 "Sorry, maybe next time.". 111 00:08:19,880 --> 00:08:21,680 So that's pretty simple, right? 112 00:08:21,700 --> 00:08:26,270 So this is how you can store a collection of data inside an array, 113 00:08:26,560 --> 00:08:30,900 and it gives you a lot of functionality without having to write a lot of code. 114 00:08:30,940 --> 00:08:36,960 Now, in the next lesson, we're going to explore how you can use arrays on a more intermediate level. 115 00:08:37,210 --> 00:08:43,760 But before I leave, here's a question. Why did the programmer quit his job? Because he didn't get arrays. 116 00:08:47,230 --> 00:08:53,920 I'd just like to say at this point that, in this course, all the jokes that you think are funny I will take 117 00:08:53,920 --> 00:08:56,490 credit for, and all the other jokes, 118 00:08:56,500 --> 00:08:59,370 it's down to the Internet. 119 00:09:00,010 --> 00:09:01,800 So I'll see you on the next lesson. 12070

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.