E questo video ho intenzione di andare oltre la creazione di soluzioni a questo problema di array impostato partendo da zero.
Quindi il primo che abbiamo sono referrer di stampa.
Quindi, prima di iniziare.
E quando riesco a impostare correttamente i miei file, ho già un file vecchio di lui.
Ho appena chiamato quella soluzione che HMO.
Includerò una fonte di tag script uguale alla soluzione di J S e quindi ho bisogno di creare quel file.
Quindi salviamo questa soluzione.
Sì.
E come sempre mi piacerebbe iniziare con il mio consiglio ma registro connesso.
Andiamo.
Apri questo nel browser.
Apri la console e vediamo che sono collegati.
Tutto ok.
Quindi iniziamo con la stampa inversa.
Quindi il reverse di stampa è una funzione.
Quindi inizierò definendo la funzione reverse di stampa che prende un singolo argomento e array.
Lo chiamerò semplicemente r e tutto ciò che dobbiamo fare è fare un ciclo attraverso l'array.
Tranne il fatto che vogliamo tornare indietro dalla fine dell'array all'inizio e quindi chiameremo il
suo var log ogni elemento.
Quindi un foreach non sarà ideale qui.
Useremo un ciclo for che è un po 'più flessibile nell'ordine in cui attraversiamo la lista.
Quindi per var I invece di partire da zero lo avvieremo alla fine dell'array.
Quindi var equals array non mi piace meno 1 e dobbiamo aggiungere che meno 1 perché la lunghezza è
sempre maggiore di un indice maggiore.
Quindi è distanziato un po '.
Avanti continueremo.
Mentre I è maggiore di uguale a zero.
E poi, infine, stiamo andando a meno meno.
Quindi inizierò a
In caso di inversione di stampa di questo array da 3 6 a 5, partirò da questo indice che sarà tre e stamperemo l'array di
log se io stamperò 5 e poi sottrai 1 da I e stamperò una matrice di I ci
dà 2 e poi 6 e poi 3 e l'ultima volta è uguale a zero.
Quindi stampiamo tre e poi abbiamo finito.
Quindi diamo un'occhiata.
Ho intenzione di chiamare questa stampa si riferisce a questo array.
Eseguilo nel browser e puoi vedere che otteniamo da 5 a 6 e 3 che è quello che ci aspettavamo.
Cinque a sei e tre.
Passiamo al prossimo problema.
Quindi il problema successivo è uniforme, che prende di nuovo un array come argomento e restituisce true.
Solo se tutti gli elementi sono esattamente gli stessi.
Quindi inizierò semplicemente scrivendo una nota che questo è dove inizia l'uniforme perché questo file sarà pieno
alla fine di questo.
Quindi voglio solo chiarire.
Quindi iniziamo definendo che la nostra funzione è uniforme e richiederà un singolo array.
Quindi, nel modo in cui ho intenzione di risolverlo, realizzerò una variabile pari al primo elemento.
Quindi in questo caso 1 e poi ho intenzione di scorrere l'array e confrontare quel primo oggetto con
ogni altro elemento e se in qualsiasi momento non sono uguali, restituiremo false e termineremo
l'intera funzione .
Ma se ce la facciamo fino alla fine significa che ogni oggetto è lo stesso.
Quindi possiamo restituire il vero.
Quindi inizierò a rendere la prima variabile var prima uguale al primo elemento.
Quindi ho intenzione di scorrere l'array.
Quindi userò un ciclo for qui e c'è una ragione per cui non sto usando un
foreach che spiegherò dopo.
Quindi inizierò a scorrere I in meno di Array, non mi piace il plus plus e
vedrò solo se l'array high non è uguale al primo.
Ciò significa che il nostro array non è uniforme.
Quindi restituirò falso.
E poi alla fine del mio array, se lo facciamo attraverso l'intero ciclo, posso tornare vero.
C'è una piccola ottimizzazione qui che sto attualmente confrontando i primi array di articoli zero con il
primo elemento.
La primissima volta attraverso il ciclo.
Se inizio dico 0 e il controllo cancella la riga uguale alla prima.
Quindi non voglio farlo.
Sto per avviarlo all'indice 1.
Proviamoci.
Aggiorna la nostra pagina è uniforme dell'array 1 1 1.
È vero.
Ma che ne dici di 1 1 2.
Questo è falso e due sono andati.
Anche questo è falso.
OK.
Quindi ho detto che non volevo usarne uno per ciascuno.
E la ragione dietro è che se ho scritto un commento su foreach questo e
invece di un ciclo for qui se ho fatto un punto rosso per ogni funzione e lo chiamo elemento e vado a controllare
se l'elemento non è
uguale a First Ritornerò falso.
Questa è esattamente la stessa logica tranne che in un foreach invece di un ciclo for.
Abbiamo un problema e il problema è che quando restituisco false qui questo ritorna solo
dalla prima funzione che è proprio qui.
Quindi non esce dall'uniforme per uscire dalla prima funzione che poi ci porta a questo livello
e quindi esegue semplicemente la riga successiva che viene restituita vera.
Quindi, piuttosto che dover gestire il lavoro da queste parti, userò un ciclo for perché è molto
più semplice, ma voglio che tu capisca qual è il problema.
Quindi per riassumere che ritorna invece di una funzione.
Rimuove solo un livello in modo che restituisca solo quell'esatta funzione e quindi la funzione
successiva al suo interno termina ancora la sua esecuzione.
Quindi verrò con questo fuori e lasciamo solo questo come nostra vera soluzione.
Prossimo abbiamo un array.
Quindi alcuni array prendono un singolo array e riassume ogni elemento all'interno di esso.
Quindi inizieremo con il mio commento alcuni array e dichiarerò la funzione che alcuni array richiedono un
singolo array.
E in questo caso abbiamo bisogno di creare una variabile per contenere il totale.
E poi abbiamo bisogno di scorrere l'intero array e aggiungere a quel totale.
Quindi inizierò con il mio totale variabile pari a zero.
E poi lo farò per ciascuno.
Quindi array per ciascuno.
E potrei semplicemente fare un ciclo regolare e io chiamerò questo elemento
e aggiungerò il totale ogni volta.
Quindi più totale equivale a elementi.
E poi la fine restituisce il totale e questo è tutto ciò che devo fare.
Quindi avviare il ciclo di zero totale attraverso l'array, prendere ogni elemento e aggiunto in totale e quindi restituire il
totale alla fine.
Proviamoci.
Proviamo a fare qualche array sull'array.
Uno due tre e ne ho sei.
E che ne dici di 10 10 10 e ne ottieni 30.
OK, questo è un array.
L'ultimo qui sta determinando l'elemento massimo in una matrice di numeri.
Quindi aggiungo i miei commenti in primo luogo.
Lavoreremo su Max qui e definirò prima quella funzione.
elemento per impostazione predefinita e quindi passeremo in rassegna ogni altro elemento e confrontarlo con il massimo corrente.
Quindi la funzione Max prende di nuovo un singolo array e la logica è che avremo una
variabile per tenere traccia del massimo e che avremo appena iniziato come primo
E se mai è maggiore del massimo attuale, allora quell'elemento è il nostro nuovo massimo.
E poi lo restituiamo alla fine.
Quindi ho intenzione di avviare var Max uguale all'array 0 e quindi ho intenzione di scorrere l'array e solo per motivi di
varietà userò un ciclo for.
Quindi per var I uguale a zero.
E in realtà puoi avviarlo a 1.
Perché stiamo già utilizzando un rapporto per lo stesso motivo per cui possono avviarlo a 1.
Quindi ho iniziato a 1 4 uguale a zero.
Ho meno di un collegamento radar più plus.
E tutto quello che voglio fare è controllare se la matrice di I.
Quindi se il singolo elemento è maggiore del massimo, Max ora è uguale a Array.
Quindi questo cambierà costantemente il suo valore o potenzialmente cambierà il suo valore se incontra un nuovo massimo.
Quindi in questo esercizio qui uno due tre all'inizio.
Uno è il massimo.
E poi passiamo attraverso il ciclo e lo confrontiamo con due.
Due è maggiore di uno.
Quindi due è il nuovo massimo.
E poi quello che ripete tre è maggiore di due.
Quindi tre è un nuovo massimo e l'ultima linea che ci manca è che, una volta terminato
il ciclo, restituiamo solo Max.
E cosa dovrebbe andare bene.
Quindi proviamo questo aggiornamento e proviamo a eseguire max su 1 2 3 e ne otteniamo tre.
Ora proviamo ad aggiungere 20 nel mezzo e otteniamo 20.
E infine giochiamo con un numero negativo e assicuriamoci che funzioni.
E abbiamo ancora 20.
OK.
Quindi abbiamo quattro soluzioni qui.
Tutti loro avevano bisogno di usare un ciclo che usavamo per ciascuno e alcuni di essi.
Abbiamo usato un ciclo for, alcuni di loro e tutti loro.
Pratichiamo una gara.
Eccezionale.
Quindi continueremo a conoscere la nostra prossima struttura dati e javascript, che è l'oggetto