Potrei tornare in questa lezione.
Stiamo continuando a parlare di una gara e ci concentreremo sull'iterazione della schiera.
Quindi fino a questo punto abbiamo visto come possiamo creare un array su come un array sia solo un elenco di dati in
cui possiamo memorizzare tutto ciò che vogliamo.
Possiamo memorizzare numeri e stringhe e valori booleani possiamo archiviare altri array, ma l'idea è che abbiamo memorizzato
le cose lì dentro e abbiamo eliminato le cose e abbiamo avuto accesso a informazioni come dammi
il primo elemento datemi l'ultimo oggetto o abbiamo usato push e pop, shift e n shift.
visto come potremmo accedere ad ogni pezzo di un array o fare del codice per ogni oggetto di un array.
Ma fino a questo punto non abbiamo
Ed è quello che l'iterazione dell'array si riferisce a iterare su un elenco che itera su un array.
Fondamentalmente loop attraverso quella matrice e facendo qualcosa per ogni oggetto o per ogni oggetto.
Quindi ti darò alcune applicazioni del mondo reale alcuni esempi reali di iterazione di array.
Quindi un esempio comune sono commenti e post.
Quindi un blog pubblica se è tumblr o Reddit. Immagino che tumblr non abbia davvero commenti
ma diciamo leggiamolo e leggilo.
Post ha un sacco di commenti.
Bene quei commenti sono archiviati in un array e per visualizzare tutti questi commenti ciò che
effettivamente accade è che il codice lo scorre attraverso iterates su quell'array con 10000 commenti potenzialmente e per
ognuno li rende ogni volta tutti i contenuti e fa un po ' alleato o fa
un paragrafo qualunque sia il commento che lo invecchia in un ciclo.
Quando andremo a finire in Iraq faremo qualcosa di molto simile ai commenti.
Più avanti in questo corso, quando parliamo di Noad e lo esprimiamo in sviluppo, useremo un ciclo
per scorrere su una serie di commenti per stampare ogni commento.
Useremo anche l'iterazione dell'array quando lo creerai per fare la lista.
Quindi abbiamo già iniziato una semplice lista di cose da fare, ma quando in realtà aggiungiamo ognuna a malvasia SS
useremo un ciclo da fare per ognuno di essi e faremo un piccolo div per ogni cosa da fare e poi modificheremo ognuno di essi.
La stessa cosa quando crei un'app per blog useremo un ciclo e per ogni blog nella nostra serie di
blog faremo qualcosa.
Faremo un piccolo post sul blog nella pagina.
Quindi la radiazione è davvero importante.
Probabilmente è la cosa più comune che facciamo con gli array.
Abbiamo una lista di dati.
Di solito vuoi fare qualcosa per tutto in quella lista.
Altrimenti se vuoi solo lavorare sempre alla prima cosa o sempre al settimo elemento, forse non dovresti
usare una matrice.
Forse conservi solo quell'oggetto da solo.
Quindi abbiamo tre obiettivi qui.
Il primo è che voglio mostrarti come puoi usare un ciclo for per iterare su un array
e poi ti mostrerò qualcosa di nuovo chiamato per ciascuno.
Quindi hai visto quattro loop prima, ma un foreach è qualcosa di nuovo di zecca è emozionante secondo me.
È davvero molto utile.
E poi l'ultima cosa che faremo è confrontare i due.
Quindi iniziamo qui ho un esempio di utilizzo di un ciclo for per scorrere un array.
Quindi abbiamo una gamma di colori che ha quattro elementi per archi rosso arancio giallo e verde.
Ora, se volessi stampare ognuno di essi se non ne parlassimo, non abbiamo fatto una reiterazione.
Lo copierò qui.
Quello che dovrei fare è qualcosa di simile.
e quindi esegui la stessa operazione per 1 e 2.
Annulla che i colori del registro sono zero
E poi finalmente per il 3 che ci dà il verde e gli ospiti si mettono in testa in modo nocivo ma questo non è
affatto così male come potrebbe essere se avessimo diecimila colori in questo array o 10000 commenti o leggere un post.
Quindi ovviamente questo non funzionerebbe davvero per noi.
Per non parlare del fatto che non è un codice a secco.
Ci stiamo ripetendo tutto il tempo.
Quindi usiamo un ciclo per automatizzare questo processo perché quello che stiamo facendo qui è la stessa operazione.
L'unica cosa che cambia è il numero 8 qui.
E ogni volta ne stiamo aggiungendo uno.
Quindi iniziamo dall'inizio dell'array e andiamo fino in fondo, quindi puoi farlo
con un ciclo for come puoi vedere qui.
Quindi il nostro FOR loop eye la nostra variabile parte da zero perché è sempre il primo indice dell'array.
E poi ne aggiungiamo uno ogni volta attraverso il loop e continuiamo ad andare avanti.
Wow.
È inferiore alla lunghezza dell'array di colori.
Quindi ricorda che la lunghezza di questo array è quattro.
Quindi mentre ho meno di quattro ore non dovrebbe mai essere uguale a quattro perché i colori quattro non sono definiti.
Quindi questo tipo di ciclo for è davvero molto comune.
Quindi fammi semplicemente scrivere qui perché il nostro occhio è uguale a zero occhi meno del colore che si incurva e non devi
farlo in quel modo.
Puoi anche fare meno o uguale a due colori di lunghezza.
Amanda Swon, che è un po 'più lunga, così la maggior parte delle persone non la scriverà in questo modo ma è la
stessa cosa.
Così vicino come I plus plus e apri le nostre parentesi.
E cosa faremo qui invece di consigliare la registrazione, facciamo in modo che vengano visualizzati i colori di avviso.
Mi piace proprio questo.
Quindi, in realtà questo non dovrebbe essere tutto ciò che vedere di nuovo usando un ciclo for come questo è nuovo, ma non c'è nulla
di nuovo qui per quanto riguarda i concetti.
È solo un ciclo continuo che hai già visto un numero che inizia da zero e stiamo salendo
e diamo un altro numero e poi tutto ciò che stiamo facendo è collegare quel numero in un array.
Quindi proviamo questo.
E spero che tu possa leggerlo finisco con il rosso arancio giallo verde.
E facciamo la stessa cosa solo con il consiglio comunale di Lague.
E noi andiamo.
Quindi, di nuovo quello che faremmo con qualcosa come i commenti che fanno per il nostro io chiamo.
E poi ho chiesto a meno e commenti a lungo termine piuttosto che cancellare la registrazione di qualcosa
che potremmo avere una funzione chiamata rendere il commento distorto o qualcosa del genere e che sarebbe responsabile di fare tutto
il commento di iChat su di lui e ora stiamo facendo a ogni elemento nell'array dei commenti.
OK.
Ecco come possiamo usare un ciclo for.
Potremmo anche andare all'indietro, quindi partiamo alla fine dell'array e continuiamo finché non raggiungiamo lo zero.
Ma questo è un po 'meno comune, ma c'è un altro modo di iterare attraverso un
array chiamato foreach.
E secondo me foreach è molto più bello da usare è più semplice è più breve ed è più comune al giorno d'oggi.
Ora per ognuno è sempre stata una parte di Javascript.
Quindi è relativamente nuovo rispetto all'utilizzo di un ciclo for o di un ciclo vecchio per il loop in un array.
Ne è uscito in un 2009 credo.
riferimento ma per quello che vale penso che sia il modo migliore per scorrere un array.
Quindi ci saranno tutorial e ci sono alcuni libri più vecchi che non fanno
C'è un piccolo ostacolo da superare all'inizio come vedrai qui.
È qualcosa di nuovo, è un po 'intimidatorio in cui stiamo effettivamente passando una funzione in un'altra funzione.
Quindi te lo spiego in un attimo.
Ma una volta superato questo, una volta imparate la sintassi e vi siete abituati
e sapete quando è necessario avere parentesi tra parentesi e c'è un po 'di bagaglio che dovete
superare all'inizio, ma una volta sei a tuo agio con esso è molto più facile che usare
un ciclo for.
È più veloce e lo vedrai dappertutto e farò del mio meglio per cercare di essere bilanciato, perché i
loop usano foreach solo per farti colpire da entrambe le direzioni in modo da abituarti ad entrambi.
Ma ti dirò che ora sono parziale a quattro ciascuno.
Quindi ecco di cosa si tratta.
È un metodo chiamato per ognuno definito su ogni singolo array.
Fa parte di qualcosa chiamato il prototipo dell'array che è il luogo in cui tutti questi metodi, come push
e pop e shift e unshipped, sono dove vivono tutti.
Quindi quello che fa è prendere una funzione come argomento, come puoi vedere qui.
Quindi scriviamo array qualunque sia il nome dell'array, i commenti colorati sono punti per ogni costo di cammello
per caso.
E poi passiamo in una funzione.
Quindi in realtà non assomiglia a questo.
Normalmente ciò che vedrai più spesso è una funzione anonima come quella che abbiamo qui.
Quindi si passa all'intera cosa che è una funzione e quindi viene chiamata quella funzione per ogni
singolo elemento dell'array.
Quindi lascia che ti mostri un esempio qui.
Prenderemo questo codice.
Copia questo array e poi cancella prima lo schermo.
Quindi abbiamo la matrice dei colori e poi scriviamo i colori per ognuno.
E ogni volta che passerò saremo chiamati su ogni elemento e quindi in genere avremo nano
disfunzione qui e non ho intenzione di dargli alcun argomento.
Spiegherò che argomento è in un attimo.
Quindi colorista per ciascuno.
E poi solo la funzione vuota.
E per ora faremo il waterlog costante all'interno di ciascuno. Proprio così.
Prenditi un momento per pensare a cosa ti aspetti che accada Ho detto che causa
la funzione per ogni elemento dell'array e premo Invio.
E mi dimentico sempre di questo non è un video molto bello qui, ma Chrome comprimerà tutti i registri
dei consigli in un'unica riga.
Ma c'è un numero per il rosso qui.
Quindi lo ripete quattro volte uno per ogni elemento dell'array.
modo più semplice per vedere che in realtà sarebbe un avviso e ricevono una lettera per avvisare tre e quattro avvisi.
Quindi un
Quindi lo fa per ogni elemento dell'array.
Ma non è tutto ciò che è utile solo per eseguire codice x numero di volte o lunghezza meno un numero
di volte per un array.
Di solito vogliamo usare i dati in quell'array in qualche modo.
Sia che stia commentando ogni volta se sta salvando qualcosa nel database sia che aggiunga
qualcosa a un punteggio per ogni articolo, ma di solito vogliamo interagire o manipolare quei
dati in qualche modo piuttosto che solo allertare arbitrariamente o arrivare a quella registrazione.
Quindi il modo in cui otteniamo tali dati consiste nel fatto che la nostra funzione indipendentemente da questa funzione è
se si tratta di una funzione anonima un'espressione di funzione di funzione denominata.
Non importa.
Ma qualunque sia la funzione, ce l'abbiamo fatta eccetto un argomento, quindi fammi riscrivere qui e si può chiamare qualsiasi
cosa vogliamo esattamente come qualsiasi altra funzione che definiamo.
Quindi inizierò con un nome terribile come adoro i cani che, si spera, non useranno mai nel tuo codice, a meno che
non abbia davvero senso in alcune situazioni.
Non posso pensare a molti però e quello che farò è prendere uno dei cani e stampare.
Adoro i cani ogni volta, quindi non accedere all'interno di ciascuno.
In più adoro i cani e colpirò enter e vedrai che entriamo nel foraggio leggere all'interno del foraggio arancione all'interno del
foraggio giallo e infine all'interno di ogni verde.
Quindi, quello che sta succedendo è che io amo i cani che tengono il valore di ogni oggetto di quell'array mentre passiamo attraverso
o mentre il foreach scorre attraverso.
Quindi chiama questa funzione per ogni oggetto questa intera funzione qui.
E non solo è solo chiamandolo, ma sta passando in rosso e poi arancione e poi
giallo e poi verde in questa funzione.
Quindi lascia che ti mostri una sintassi alternativa.
Beh, in realtà non è una sintassi alternativa, ma un altro modo di definire una funzione e trasmetterla.
Quindi è come qualsiasi altra funzione.
E andando a chiamarlo stampa a colori e tutto quello che farà è prendere una discussione chiamata Color
e poi invece di qui farò un log costante e facciamo solo una linea di stelle da cui iniziare e copierò quella
linea e quindi sotto non registrerà il colore.
E poi di nuovo un contorno di un pezzo.
OK.
Quindi dobbiamo trovare una funzione semplice.
Speriamo che questa recensione a questo punto prende una discussione chiamata Colore e premo Invio. Non succede nulla
perché ho solo definito la funzione.
Ma ora se lo chiamo stampa a colori e facciamo il viola.
Ovviamente il colore migliore che ottengo stelle stelle viola.
E proprio come per la recensione, mi viene indefinito perché la mia funzione in realtà non restituisce nulla ma
stampa tre righe.
sono i colori che sono il mio array per ciascuno e quindi piuttosto che digitare un'intera funzione qui.
OK, quindi posso usare ognuno per eseguire questo colore di stampa su ogni elemento dell'array e tutto ciò che devo fare
Tutto quello che faccio è passare in stampa a colori e questa è una nota davvero importante che non metto qui
le parentesi se metto quelle parentesi lì.
Chiamerò immediatamente quella funzione.
Ricorda ogni volta che javascript vede una funzione seguita da parentesi che la esegue.
Quindi non importa che lo sto trasmettendo per ognuno. Sarà chiamato prima che vogliamo che
venga chiamato ciò che in realtà vogliamo fare è passare il colore della stampa senza le parentesi che diciamo per ciascuno.
Eccoci qui.
Ecco la funzione.
Voglio che mi chiami più tardi.
Quando fai un giro e voglio che tu lo chiami su ogni elemento dell'array.
Allora, cosa accadrà se avanza veloce.
Bene fammi entrare prima e vedrai che diventiamo viola mentre inizia qui rosso arancione giallo e
verde.
Quindi quello che sta succedendo dietro le quinte è che per ognuno sta prendendo colore
di stampa ed è in esecuzione stampa colore rosso stampa colore arancione Tranne che non sembra proprio così.
Sembra più simile a questo colore di stampa Pi che inizia a 0 e poi a colori piuttosto colori uno.
Quindi sta funzionando con i nostri colori di stampa e in realtà lo sta chiamando per noi.
Quindi diciamo semplicemente cosa chiamare e lo chiameremo sugli articoli.
Quindi per ognuno è davvero bello perché non dobbiamo lavorare con io non dobbiamo scrivere
la sintassi per un ciclo for e non dobbiamo accedere ai colori che ho dentro il nostro codice o che accediamo è qualunque lo
chiamiamo qui
Quindi, colora in questo caso, ma ricorda che l'ho dimostrato perché amo i cani che non sono
un buon nome ma possono essere tutto ciò che vogliamo e, si spera, significhi più dei colori.
Quindi, di nuovo, possiamo usarli entrambi per e per ciascuno, per ognuno di essi è più recente e lo
preferisco, ma farò del mio meglio per darti una prospettiva equilibrata o almeno costringerti a vedere entrambi.
E poi ecco un confronto tra i due modi di fare il ciclo e ci sono più di due
modi in cui potremmo usare un ciclo while ovviamente che ti mostrerò brevemente.
Potremmo fare la stessa cosa per i colori.
Tutto ciò che dobbiamo fare è definire una variabile.
Chiamiamolo conta ed è uguale a zero all'inizio.
E poi lo faremo mentre il conto è meno della lunghezza del colorista, proprio come il nostro per ciascuno.
Intendo proprio come un ciclo for.
E poi invece di qui dobbiamo incrementare il conteggio prima che ci dimentichiamo e quindi possiamo semplicemente fare
un conteggio costante del colore di registro alt.
Quindi è un po 'più sintassi, proprio come ogni ciclo while è di solito confrontato con un ciclo for.
Dobbiamo prima definire una variabile e poi dobbiamo incrementarla all'interno del ciclo e finiamo con il
rosso arancione giallo verde.
Quindi potresti usare un ciclo while, ma è davvero raro che quasi nessuno vedrà nessuno farlo.
È quasi sempre un ciclo for o un per ciascuno.
E sempre più spesso è praticamente sempre per ciascuno.
Ci sono casi però dove per ognuno non esiste che farò in modo di sottolineare con alcune
delle cose del browser alcune delle cose HMLC Ss e Javascript quando combiniamo tutto insieme ci saranno momenti
in cui stiamo lavorando con le cose sembrano array ma in realtà non lo sono.
Ed è davvero confuso.
Ma farò in modo che tu ne sia consapevole e non potremo usarlo per ciascuno allora.
Quindi è sempre bene ricordare come si scrive un ciclo for e come si fa la stessa cosa per ciascuno.
Quindi questo è ciò che questo codice ti mostra qui prenditi un momento per studiarlo, se vuoi.
Le differenze principali sono il fatto che in un ciclo for abbiamo a che fare con un numero.
Quindi stiamo passando da un numero da zero fino alla fine della matrice e in realtà stiamo usando quel numero
per accedere ai colori della matrice.
Io in un foreach che è astratto lontano da noi.
Quindi tutto ciò di cui abbiamo a che fare è un nome che abbiamo creato un colore temporaneo segnaposto o
oggetto o cosa qualunque sia un commento post amico e lo usi al posto di una funzione.
a meno che non ci sia una funzione che si desidera riutilizzare in seguito e si desidera chiamarla alcune altre parti
del codice, quindi si potrebbe definire che si potrebbe dare un nome al di fuori del foreach .
E molto spesso si vedrà una funzione anonima qui
OK.
Quindi abbiamo coperto molto.
Sono davvero importanti loop di roba più funzioni più array di cose che si uniscono ora.
Di nuovo farò del mio meglio per assicurarmi di vedere entrambi i modi di scrivere un ciclo durante
il corso e il prossimo esercizio molto breve molto veloce non dovrebbe richiedere più di 30 secondi.