Ik zou terug te komen in deze les.
We blijven om te praten over een race en we gaan richten op array-iteratie.
Dus tot op dit moment hebben we gezien hoe we een array kunnen maken hoe een array is gewoon een lijst van de gegevens die we kunnen opslaan wat we willen daar.
We kunnen getallen en strings en Booleaanse waarden kunnen we andere arrays op te slaan op te slaan, maar het idee is dat we de dingen daar hebt opgeslagen en we hebben dingen genomen en we hebben informatie toegankelijk is, zoals mij de eerste optie geeft me het laatste punt of we hebben push en pop gebruikt en shift en n verschuiven.
Maar tot op dit moment hebben we niet gezien hoe we hadden toegang tot elk stukje van een array of doe wat code om elk item in een array.
En dat is wat scala iteratie verwijst naar itereren over een lijst itereren over een array.
In principe doorlussen dat array en iets te doen om elk item of met elk item.
Dus geef ik je een paar echte wereld toepassingen een aantal echte voorbeelden van de array iteratie.
Dus een bekend voorbeeld is opmerkingen en berichten.
Dus een blog posts of het nu tumblr of Reddit Ik denk tumblr niet echt opmerkingen maar laten we zeggen dat het lezen en lezen.
Post heeft een heleboel opmerkingen.
Nou deze opmerkingen worden opgeslagen in een array en om al die reacties wat er werkelijk gebeurt weer te geven is dat sommige code lussen doorheen doorloopt dat array met 10.000 opmerkingen potentieel en voor een ieder het maakt ze elke keer alle content en maakt een beetje bondgenoot of het maakt een paragraaf wat de reacties zijn die hem in de leeftijd out wordt gegenereerd in een lus.
Toen we itereren over in Irak zullen we iets heel erg vergelijkbaar met opmerkingen te doen ook.
Later in deze cursus als we praten over Noad en uit te drukken het terug in de ontwikkeling zullen we met behulp van een lus om itereren over een scala aan reacties uit te printen elke opmerking.
We zullen ook worden met behulp van array-iteratie wanneer u het naar de lijst te doen.
Dus hebben we al begonnen met een eenvoudige lijst te doen, maar als we daadwerkelijk toe te voegen in elk Malmsey SS zal worden met behulp van een lus te gaan voor elke te doen en een beetje div voor elke te doen en dan zullen we de stijl van een ieder.
Hetzelfde als je een blog app te maken gaan we een lus te gebruiken en voor elke blog in ons aanbod aan blogs gaan we iets doen.
We zullen een beetje blog post op de pagina te maken.
Dus straling is echt belangrijk.
Het is waarschijnlijk de meest voorkomende ding dat we met arrays.
We hebben een lijst met gegevens.
Meestal wilt u iets doen om alles in die lijst.
Anders als je alleen wilt werken aan het eerste ding altijd of het zevende punt altijd misschien moet je niet met behulp van een array.
Misschien heb je gewoon op te slaan dat punt op zijn eigen.
Dus hebben we drie doelstellingen hier.
De eerste is dat ik wil u laten zien hoe u kunt gebruiken voor lus om itereren over een array en dan ga ik je laten zien iets gloednieuwe opgeroepen voor elk.
Dus je hebt vier loops eerder gezien, maar een foreach is iets nieuw is het het is spannend in mijn mening.
Het is echt heel handig als goed.
En dan is het laatste wat we zullen doen is te vergelijken de twee.
Laten we beginnen hier Ik heb een voorbeeld van het gebruik van een lus naar lus door een array.
Dus hebben we een scala van kleuren dat vier items voor strijkers rood oranje geel en groen heeft.
Nu als ik wilde afdrukken elk als we niet over praten we niet een nieuwe iteratie te doen.
Ik zal dit hier te kopiëren.
Wat ik zou moeten doen is iets als dit.
Annuleren dat log kleuren nul en doe hetzelfde voor 1 en 2.
En dan eindelijk voor 3, die geeft ons groen en gasten heads up schadelijke, maar dat is lang niet zo slecht als het zou kunnen zijn als we hadden tienduizend kleuren in deze array of 10000 commentaar op of lees een bericht.
Zo duidelijk dat zou niet echt werken voor ons.
Niet aan het feit dat het niet droog code te noemen.
We herhalen onszelf de hele tijd.
Dus gebruiken we een lus om te helpen dit proces automatiseren, want wat we hier doen is dezelfde handeling.
Het enige dat verandert is de nummer 8 hier.
En elke keer dat we gewoon het toevoegen van een.
Dus we beginnen bij het begin van de reeks en we gaan helemaal naar het einde, zodat u precies dat kunt doen met een lus zoals je hier kunt zien.
Dus onze FOR-lus onze ogen onze variabele begint bij nul, want dat is altijd de eerste index in de array.
En dan is een voegen we aan het elke keer door de lus en we blijven gaan.
Wauw.
Het is minder dan de lengte van de array colors.
Dus denk aan de lengte van deze array is vier.
Dus terwijl ik minder dan vier uur het mag nooit gelijk zijn vier kleuren, omdat vier is niet gedefinieerd.
Dus dit soort lus is echt heel vaak voor.
Dus laat me typ het gewoon hier voor onze ogen gelijk is aan nul ogen minder dan kleur overvleugelen en je hoeft niet naar het op die manier te doen.
U kunt ten hoogste twee kleuren lengte te doen.
Amanda Swon dat is een beetje langer dus de meeste mensen zou het niet schrijven op die manier, maar het is hetzelfde.
Dus sluit uit als ik plus plus en open onze beugels.
En wat we hier gaan doen in plaats van de raad over de houtkap laten we in op waarschuwingen alert kleuren.
Ik net als dat.
Dus eigenlijk is dit moet niet zo nieuw zien ons het zien van het gebruik van een lus als dit is nieuw, maar er is niets nieuws hier zoveel concepten.
Het is gewoon een lus dat u al een nummer beginnend bij nul hebben gezien en we gaan op en vertellen een ander nummer en dan is alles wat we doen is de stekker dat nummer in een array.
Dus laten we proberen dit.
En ik hoop dat u kunt dit ik eindigen met rood oranje geel groen te lezen.
En laten we hetzelfde doen alleen met de raad dot Lague plaats.
En daar gaan we.
Dus nogmaals wat we zouden eigenlijk doen met iets als commentaar dat van onze IK oproep te doen.
En toen vroeg ik minder en commentaar op de lengte in plaats van teniet gedaan iets wat we misschien een functie genaamd make reactie gescherpt hem uit of iets dergelijks in te loggen en die verantwoordelijk zijn voor het maken van alle iChat hem Alpher één opmerking zou zijn en nu zijn we aan het doen bent het aan elk item in de commentaren array.
OK.
Dus dat is hoe we kunnen gebruiken voor lus.
We kunnen ook achteruit gaan, zodat we beginnen bij het einde van de array en we blijven gaan totdat we raken nul.
Maar dat is een beetje minder vaak voor, maar er is een hele andere manier van het itereren door middel van een array met de naam van een foreach.
En naar mijn mening foreach is veel leuker om het te gebruiken is eenvoudiger het is korter en het is meer gebruikelijk tegenwoordig.
Nu elk een altijd een deel van Javascript geweest.
Dus het is relatief nieuw in vergelijking met het gebruik van een lus of gewoon oud lus naar lus door een array.
Het kwam in een ik denk dat 2009 of zo.
Zo zullen er tutorials en er zijn sommige oudere boeken die het niet verwijzen, maar voor wat het waard Ik denk dat het het de beste manier om lus door een array.
Er is een beetje een belemmering om er overheen te komen aan het begin als je hier zult zien.
Het is iets nieuws dat het een beetje intimiderend, waar we eigenlijk een functie op doorreis bent in een andere functie.
Dus ik zal uitleggen dat in slechts een moment.
Maar als je eenmaal voorbij dat als je eenmaal soort leren van de syntaxis en wennen aan het en je weet wanneer je moet haken tussen haakjes hebben en er is er is een soort van een beetje van bagage die je hebt om door te dringen in het begin, maar zodra je gemak voelt, het is zo veel makkelijker dan het gebruik van een lus.
Het is sneller en je zult het allemaal te zien over de plaats en ik zal mijn best doen om te proberen en evenwichtig gebruik van loops gebruiken foreach gewoon om u soort hit uit beide richtingen, zodat je wennen aan hen beiden.
Maar ik zeg je nu ik ben gedeeltelijk tot vier per stuk.
Dus hier is wat het is.
Het is een methode genaamd voor ieder die is gedefinieerd op elke array.
Het maakt deel uit van iets genaamd de array prototype dat is waar al die methoden zoals push en pop en shift en unshipped het is waar ze allemaal wonen.
Dus wat het doet is het neemt een functie als argument zoals je hier kunt zien.
Dus we we schrijven reeks ongeacht de naam van de array is kleurlingen opmerkingen dot per kameel kosten per geval.
En dan komen we in een functie.
Het maakt dus eigenlijk niet zo uitzien.
Normaal gesproken wat je het meest te zien is een anonieme functie zoals wij hier hebben.
Dus voorbij kunt dit hele ding die een functie en die functie wordt opgeroepen elk element in de array.
Dus laat ik je hier een voorbeeld.
We zullen gewoon deze code.
Kopieer deze serie over en wis het scherm eerste.
Dus hebben we de kleuren array en dan schrijven we kleuren voor elk.
En wanneer ik passeren we worden opgeroepen op elk element en dan meestal gaan we nano meer werkt hier hebben en ik ben niet van plan om het even welke argumenten te geven.
Ik zal uitleggen wat dat argument is in slechts een moment.
Dus colorist voor elke.
En dan gewoon de lege functie.
En nu zullen we constant Waterlog binnen het te doen voor elke Zomaar.
Neem een ​​moment na te denken over wat je verwacht te gebeuren heb ik gezegd dat het zorgt ervoor dat de functie voor elk item in de array en ik druk op enter.
En ik heb altijd vergeet dit het niet erg goed video hier te maken, maar Chrome zal al die gemeenten logs te comprimeren tot één lijn.
Maar er is een nummer voor rode hier.
Dus het is vier keer een voor elk item in de array te herhalen.
Dus een eenvoudiger manier om te zien dat zou eigenlijk een alert te zijn en ze krijgen een brief aan de drie en vier waarschuwingen te waarschuwen.
Dus het doet het voor elk item in de array.
Maar dat is niet alles wat nuttig gewoon om wat code x aantal keer of lengte min een aantal keren voor een serie draaien.
We willen meestal om de gegevens een of andere manier te gebruiken in die array.
Of het nu gaat om commentaar elke keer nu of het nu het opslaan van iets in de database of het nu iets toe te voegen aan een score voor elk punt, maar we meestal willen communiceren of te manipuleren dat de gegevens op een bepaalde manier in plaats van alleen willekeurig waarschuwen of komt dat houtkap.
Dus de manier waarop we deze gegevens te krijgen is door het hebben van onze functie wat deze functie is de vraag of het een anonieme functie een benoemde functie functie expressie.
Het maakt niet uit.
Maar wat die functie is dat we hebben, behalve een argument dus laat me herschrijven dit hier en het kan wat we willen net als elke andere functie die we definiëren worden genoemd.
Dus ik zal beginnen met een vreselijke naam zoals ik hou van honden die je zou hopelijk nooit gebruikt in de code, tenzij het echt zin had in een bepaalde situatie.
Ik kan echter niet denken van de vele en wat ik ga doen is een van de honden en print.
Ik hou van honden elke keer dus niet te melden in de voor elk.
Plus Ik hou van honden en ik druk op enter en je zult zien we in het voer te lezen in het voer oranje binnenkant het voer geel en uiteindelijk in de voor elke green.
Dus wat is gebeurt is dat ik hou van honden houdt de waarde van elk item in die array als we doorlopen of als de foreach lussen door.
Dus het oproepen van deze functie voor elk item deze hele functie hier.
En niet alleen is het gewoon noemen het, maar het is voorbij in de kleuren rood en daarna oranje en vervolgens geel en daarna groen in deze functie.
Dus laat ik je een alternatieve syntax.
Nou, het is niet echt een alternatieve syntax maar een andere manier van het definiëren van een functie en door te geven in.
Dus het is net als elke andere functie.
En gaan noemen drukkleur en alles wat het zal doen is een argument genoemd Color en dan in plaats van hier zal ik een constante log doen en laten we gewoon een lijn van sterren er om te beginnen en ik zal die lijn kopiëren en dan eronder zal niet inloggen kleur.
En dan weer een stuk omtrek.
OK.
Dus we hebben om een ​​eenvoudige functie te vinden.
Hopelijk is dit beoordeling op dit punt neemt een argument genoemd Color en ik druk op Enter gebeurt er niets, want ik heb alleen de functie gedefinieerd.
Maar nu als ik noem het afdrukken kleur en laten we het doen paars.
Uiteraard is de beste kleur die ik krijg sterren Purple sterren.
En net zoals beoordeling die ik krijg undefined omdat mijn functie iets niet daadwerkelijk terug te keren, maar het drukt drie lijnen.
OK dus ik kan gebruiken voor elk van deze afdruk kleur op elk item in de array en draaien alles wat ik moet doen is de kleuren die mijn array voor elk en dan in plaats van het typen van een hele functie hier.
Alles wat ik doe is pas in print kleur en dit is een heel belangrijke opmerking dat ik tussen haakjes hier niet zetten als ik zet die haakjes daar.
Ik ga die functie bel dan onmiddellijk.
Vergeet niet wanneer javascript is een functie, gevolgd door haakjes het voert het ziet.
Dus het maakt niet uit dat ik het ben passeren in voor elke Het zal worden aangeroepen voordat we willen dat het wordt genoemd wat we eigenlijk willen doen is gewoon passeren in print kleur zonder haakjes we vertellen voor elk.
Daar gaan we.
Hier is de functie.
Ik wil dat je later bellen voor mij.
Wanneer u loop door en ik wil dat je het een beroep doen op elk item in de array.
Dus dan wat als we snel vooruit gebeuren.
Nou laat me druk op enter eerste en je zult zien we paarse terwijl het begint hier rood oranje geel en groen.
Dus wat er gebeurt achter de schermen is dat voor elk neemt drukkleur en het draait drukkleur rode opdruk kleur oranje Behalve het niet echt zo uitzien.
Het lijkt meer op deze druk kleur kleuren Pi die begint bij 0 en dan mooie kleuren een.
Dus het is het nemen van onze drukkleuren functie en het is eigenlijk roept het voor ons.
Dus we vertellen dat precies wat te noemen en dat we het een beroep doen op de artikelen.
Dus voor elke Het is echt leuk, omdat we niet hoeven te werken met I we niet hoeven uit te schrijven de syntaxis voor een lus en we hebben geen toegang tot kleuren die ik de binnenkant van onze code of dat we toegang is wat we noemen het hier.
Dus kleur in dit geval, maar herinner ik me liet zien dat als ik hou van honden die niet een goede naam echt, maar het kan alles wat we willen zijn en hopelijk betekent meer dan kleuren.
Dus nogmaals kunnen we gebruik maken van zowel van hen voor en voor elk voor iedere is nieuwer meer populair en verkies ik het, maar ik zal mijn best doen om u een evenwichtig perspectief of op zijn minst dwingen je om zowel te zien geven.
En dan is hier een vergelijking van de twee manieren van doorlussen en er is meer dan twee manieren waarop we konden een tijdje loop van de cursus die ik u in het kort zal je laten zien gebruiken.
We kunnen hetzelfde doen voor kleuren.
Alles wat we moeten doen is definiëren een variabele.
Laten we het tellen en het is gelijk aan nul in het begin.
En dan gaan we doen, terwijl tellen minder dan colorist out lengte is net als onze voor elk.
Ik bedoel, net als een lus.
En dan in plaats van hier hebben we te tellen verhogen voordat we vergeten en dan kunnen we gewoon doen telt een constante alt log kleur's.
Dus het is een beetje meer syntax net als elke while loop meestal wordt vergeleken met een lus.
We moeten een variabele eerst definiëren en dan hebben we het te verhogen in de loop en we eindigen met rood oranje geel groen.
Dus je zou een while loop gebruiken, maar het is het is echt zeldzaam bijna nooit zult u zien wie dat te doen.
Het is bijna altijd een lus of een voor elk.
En in toenemende mate het is vrij veel altijd voor elk.
Er zijn gevallen echter waarin voor elke niet bestaat, die ik zal ervoor zorgen te wijzen met een aantal van de browser dingen een aantal van de HMLC Ss en Javascript spullen als we alles bij elkaar te combineren zullen er momenten waarop we werken met de dingen die er uitzien als arrays, maar ze zijn eigenlijk niet.
En het is echt verwarrend.
Maar ik zal ervoor zorgen dat u zich bewust van te zijn en we kunnen niet gebruiken voor elke daarna.
Dus het is altijd goed om te herinneren hoe schrijf je een lus en hoe je hetzelfde doen met voor elk.
Dus dat is wat deze code laat je hier even de tijd om het te bestuderen als je wilt.
De belangrijkste verschillen zijn het feit dat in een lus we te maken hebben met een nummer.
Dus we gaan uit een aantal van nul tot het einde van de reeks en we eigenlijk met behulp van dat nummer om toegang te krijgen tot de reeks kleuren.
Ik in een foreach die weg is geabstraheerd van ons.
Dus alles wat we te maken met een naam die we een tijdelijke plaatsaanduiding kleur of voorwerp of ding wat het ook is commentaar te posten vriend hebt gemaakt en je gebruikt dat in plaats van een functie.
En de meeste voorkomende meestal zul je hier een anonieme functie zien, tenzij er een functie die u wilt hergebruiken later en u wilt noemen sommige andere delen van de code dan kun je misschien definiëren je zou het een naam te geven buiten de foreach .
OK.
Dus we bedekt veel.
Ze zijn echt belangrijke dingen lussen plus functies plus arrays dingen soort nu samen komen.
Opnieuw zal ik mijn best doen om ervoor te zorgen dat je te zien beide manieren van het schrijven van een lus in de loop en next up hebben we een heel korte zeer snelle oefening moet niet meer dan 30 seconden duren.