1
00:00:00,210 --> 00:00:00,810
Tutto ok.

2
00:00:00,810 --> 00:00:03,900
Quindi andiamo oltre le soluzioni a questi tre problemi.

3
00:00:03,930 --> 00:00:10,100
Iniziamo con il primo è anche così per iniziare qui ho intenzione di andare avanti e aprire la fornitura.

4
00:00:10,740 --> 00:00:18,530
Ho un indice che invecchia a lui e che inserirò e aggiungerò un tag script e chiameremo questa

5
00:00:18,750 --> 00:00:19,110
soluzione.

6
00:00:19,230 --> 00:00:21,410
Sì.

7
00:00:21,420 --> 00:00:28,410
Quindi il prossimo passo ho bisogno di fare questa soluzione che file J e ho intenzione di salvare quella soluzione.

8
00:00:28,640 --> 00:00:32,130
Sì nello stesso posto e abbastanza sicuro.

9
00:00:32,700 --> 00:00:35,340
Quindi di nuovo iniziamo con è pari.

10
00:00:35,610 --> 00:00:38,430
Quindi ho intenzione di dichiarare che la funzione è uniforme

11
00:00:41,340 --> 00:00:43,100
e deve prendere un singolo argomento.

12
00:00:43,200 --> 00:00:47,640
Chiamiamolo intorpidito e poi vogliamo

13
00:00:50,580 --> 00:00:56,990
restituire true se anche restituisce false altrimenti.

14
00:00:57,030 --> 00:00:59,040
Quindi ci sono alcuni modi per farlo.

15
00:00:59,100 --> 00:01:01,880
Il primo è farlo nel modo più esplicito possibile.

16
00:01:02,070 --> 00:01:10,830
come diciamo se qualcosa è pari se il resto della divisione di due in quel numero è zero se non c'è resto.

17
00:01:10,830 --> 00:01:15,430
Quindi diciamo che se numb mod 2 è zero, ricordiamo che è

18
00:01:15,480 --> 00:01:16,680
Ciò significa che è pari.

19
00:01:16,770 --> 00:01:25,600
Quindi, se questo è il caso, possiamo restituire VERO altrimenti restituire false.

20
00:01:25,830 --> 00:01:27,230
Proprio così.

21
00:01:27,870 --> 00:01:29,520
E ho intenzione di

22
00:01:32,820 --> 00:01:37,240
spostare questo qui solo per chiarire cosa corrisponde a cosa.

23
00:01:37,470 --> 00:01:39,610
Proprio così.

24
00:01:40,080 --> 00:01:41,260
Quindi possiamo farlo.

25
00:01:41,580 --> 00:01:44,480
E in realtà non chiamerò ancora la mia funzione.

26
00:01:44,490 --> 00:01:49,430
Lo aprirò nel browser per mostrarti qualcosa di leggermente nuovo.

27
00:01:49,860 --> 00:01:57,500
Quindi se apro la mia console a cui ho effettivamente accesso è anche nella mia console qui.

28
00:01:57,870 --> 00:02:04,170
Quindi scrivo è anche senza parentesi e mi dice che sì lo so è anche Ecco il codice

29
00:02:04,170 --> 00:02:09,880
e se aggiungo le parentesi ho bisogno di passare quel numero come 5 e ottengo false.

30
00:02:10,440 --> 00:02:19,120
E posso farlo di nuovo con quattro o con uno o con novantanove e funziona benissimo.

31
00:02:19,530 --> 00:02:21,860
Quindi ci sono due cose che ci sono anche opere.

32
00:02:21,900 --> 00:02:22,910
Quindi è fantastico.

33
00:02:22,950 --> 00:02:28,590
Ma ancora più importante voglio mostrarti che possiamo definire funzioni e codice nei nostri file.

34
00:02:28,800 --> 00:02:31,420
E poi quando apriamo questi file nel browser.

35
00:02:31,620 --> 00:02:35,510
In questo caso il nostro vecchio L5 è collegato al nostro file javascript.

36
00:02:35,580 --> 00:02:40,140
Posso quindi accedere a tali funzioni.

37
00:02:40,140 --> 00:02:42,500
Quindi c'è un piccolo refactoring che possiamo fare qui.

38
00:02:42,750 --> 00:02:49,650
Ho intenzione di copiare questo codice commentato tutto e ho intenzione

39
00:02:49,650 --> 00:02:57,470
di accorciarlo, quindi ti mostrerò prima la soluzione e poi vedremo come funziona.

40
00:02:57,480 --> 00:03:00,670
Quindi questo è un ritorno sostanzialmente più breve.

41
00:03:00,800 --> 00:03:04,260
Il numero due è uguale a zero.

42
00:03:04,260 --> 00:03:05,610
Quindi aggiorniamo la pagina.

43
00:03:05,640 --> 00:03:12,980
Assicurati che funzioni anche se 4 è vero anche se 3 è falso.

44
00:03:12,990 --> 00:03:15,060
Funziona ancora allo stesso modo.

45
00:03:16,260 --> 00:03:19,660
Quindi il modo in cui funziona effettivamente questa linea qui.

46
00:03:19,710 --> 00:03:22,920
Restituisce Nahm fatto triplo uguale a zero.

47
00:03:23,130 --> 00:03:28,750
Valuterà questo prima e questa è una dichiarazione vera o falsa è un'affermazione booleana.

48
00:03:29,040 --> 00:03:33,180
Quindi intorpidire a Tripoli è uguale a zero o sarà vero o falso.

49
00:03:33,270 --> 00:03:35,840
E poi stiamo solo tornando vero o falso.

50
00:03:36,120 --> 00:03:43,800
Quindi, piuttosto che verificare se sia vero true return e se è falso return false, dobbiamo semplicemente girare

51
00:03:43,800 --> 00:03:44,970
il valore immediatamente.

52
00:03:44,970 --> 00:03:48,170
Quindi questa è una bella scorciatoia lì.

53
00:03:49,860 --> 00:03:52,100
Quindi il prossimo abbiamo fattoriale.

54
00:03:52,320 --> 00:04:00,510
Quindi ho intenzione di andare avanti e iniziare definendo la mia funzione chiamata fattoriale funzione fattoriale e sappiamo

55
00:04:00,510 --> 00:04:03,070
che è necessario prendere un numero.

56
00:04:04,110 --> 00:04:05,780
Quindi quaggiù scriverò un appunto.

57
00:04:05,880 --> 00:04:14,430
Quindi se ho fatto un fattoriale di quattro che dovrebbe darmi quattro volte tre volte due

58
00:04:14,430 --> 00:04:17,340
volte uno e vengo con quello.

59
00:04:17,340 --> 00:04:20,820
Quindi all'interno della nostra funzione scriverò alcune righe di pseudo-codice.

60
00:04:20,850 --> 00:04:26,730
La prima cosa che sappiamo di voler fare è definire una variabile di risultato e quindi l'ultima

61
00:04:26,730 --> 00:04:30,050
cosa nella funzione è restituire la variabile di risultato.

62
00:04:30,480 --> 00:04:34,230
Quindi, ciò che è importante è ed

63
00:04:36,960 --> 00:04:42,770
è qui che calcoleremo fattoriale e valore di negozio nel risultato.

64
00:04:44,060 --> 00:04:47,740
Quindi abbiamo alcuni approcci su come possiamo calcolare fattoriale.

65
00:04:47,880 --> 00:04:54,290
Potremmo iniziare impostando il risultato come uno all'inizio e poi moltiplicandolo per due e moltiplicandolo per

66
00:04:54,620 --> 00:04:59,910
tre e poi per 4 o potremmo andare viceversa come se fossimo qui.

67
00:05:00,390 --> 00:05:08,140
E inizierò a farlo in questo modo, quindi è necessario un risultato var variabile variabile uguale a 1.

68
00:05:08,730 --> 00:05:15,710
E poi quello che dobbiamo fare è moltiplicare quel risultato per ogni numero compreso tra 1 e quel numero.

69
00:05:15,750 --> 00:05:20,110
Quindi uno su quattro o uno su dieci qualunque sia passato come no

70
00:05:20,670 --> 00:05:25,840
Per fare ciò vorremmo usare un ciclo potremmo usare un ciclo for o un ciclo while.

71
00:05:26,040 --> 00:05:28,800
Ho intenzione di utilizzare un ciclo for qui perché è un po 'più breve.

72
00:05:28,920 --> 00:05:32,750
Quindi per il lontano e chiamiamolo I.

73
00:05:33,300 --> 00:05:35,060
E potremmo iniziare io come uno.

74
00:05:35,160 --> 00:05:37,030
Quindi lo farò prima.

75
00:05:37,410 --> 00:05:45,330
E continueremo a moltiplicare mentre io sono inferiore o uguale a intorpidire, quindi aggiungeremo 1

76
00:05:45,480 --> 00:05:47,380
a 1 ogni volta.

77
00:05:47,880 --> 00:05:54,950
E poi tutto ciò che vogliamo fare è moltiplicare il risultato di I.

78
00:05:55,250 --> 00:06:04,080
Quindi se passiamo attraverso questo se lo facciamo per quattro fattoriali di quattro risultati inizia come uno proprio qui

79
00:06:04,120 --> 00:06:09,250
allora stiamo creando Io inizio dice 1 e moltiplichiamo risultato per.

80
00:06:09,450 --> 00:06:13,350
Quindi questo è solo 1 volte 1 che ho notato non è necessario.

81
00:06:13,350 --> 00:06:16,410
Quindi potremmo voler iniziare solo a 2.

82
00:06:16,440 --> 00:06:20,350
Quindi, la prima volta attraverso il risultato moltiplichiamo per volta.

83
00:06:20,400 --> 00:06:22,560
Quindi otteniamo 1 volte 2.

84
00:06:22,680 --> 00:06:27,710
La prossima volta attraverso I ora sono tre perché ne abbiamo aggiunto uno.

85
00:06:27,990 --> 00:06:30,920
Quindi questo è ancora meno del numero che è quattro.

86
00:06:30,930 --> 00:06:38,040
Quindi moltiplichiamo di nuovo il risultato equivale al valore corrente di un risultato che è questa volta 3.

87
00:06:39,090 --> 00:06:43,990
Allora, ne abbiamo 6 e poi la prossima volta attraverso me ora sono quattro.

88
00:06:44,000 --> 00:06:46,250
Quindi quattro è inferiore o uguale a quattro.

89
00:06:46,250 --> 00:06:47,230
Questo è vero.

90
00:06:47,580 --> 00:06:53,790
Quindi moltiplicheremo un'ultima volta per quattro e poi ne aggiungeremo uno a me nel nostro ciclo di quattro e ora

91
00:06:53,790 --> 00:06:54,500
abbiamo finito.

92
00:06:55,250 --> 00:06:57,260
Perché ora siamo al 5 5.

93
00:06:57,250 --> 00:06:59,380
Non è inferiore o uguale a quattro.

94
00:07:00,120 --> 00:07:02,000
Quindi questo è tutto ciò che dovremmo avere bisogno di fare lì.

95
00:07:02,000 --> 00:07:04,000
C'è un piccolo cambiamento che potremmo fare.

96
00:07:04,050 --> 00:07:06,940
Non abbiamo bisogno di dire che il risultato equivale ai tempi di risultato.

97
00:07:06,950 --> 00:07:14,340
Posso abbreviare questo usando stelle equivalenti che sono solo una scorciatoia per la stessa identica cosa che abbiamo

98
00:07:14,340 --> 00:07:15,240
appena avuto.

99
00:07:15,690 --> 00:07:19,770
E quindi l'ultima cosa che dobbiamo fare è restituire i risultati.

100
00:07:20,280 --> 00:07:27,130
Quindi salva apriamolo nell'aggiornamento del browser e dovremmo avere accesso alla nostra funzione fattoriale.

101
00:07:27,960 --> 00:07:31,480
Proviamo fattoriale su tre e ne otteniamo sei.

102
00:07:31,530 --> 00:07:41,340
Che ne dici di un factorial di quattro o dieci che è 360 2000 o tre milioni seicentoventottomila ottocento, che

103
00:07:41,390 --> 00:07:46,940
è quello che abbiamo ottenuto qui come soluzione fattoriale di 10.

104
00:07:47,370 --> 00:07:48,860
E poi proviamo.

105
00:07:49,110 --> 00:07:52,060
Fattoriale di zero.

106
00:07:53,250 --> 00:07:54,630
E ne prendiamo uno.

107
00:07:54,660 --> 00:07:56,230
Quindi funziona perfettamente.

108
00:07:56,670 --> 00:07:58,510
Quindi questo è tutto ciò che dobbiamo fare fattoriale.

109
00:07:58,710 --> 00:08:05,090
Come ho detto, potresti farlo nell'altra direzione, dove iniziamo con il risultato uguale al numero.

110
00:08:05,160 --> 00:08:06,420
E lavoriamo all'indietro.

111
00:08:06,540 --> 00:08:08,450
E questa sarebbe una modifica molto semplice.

112
00:08:08,670 --> 00:08:17,930
Fondamentalmente dovremmo cambiare questo per essere intorpidito e poi inizieremmo da qui sotto a intorpidire mentre io.

113
00:08:17,930 --> 00:08:24,220
È maggiore o uguale a 1 i.

114
00:08:24,260 --> 00:08:25,780
Meno meno

115
00:08:26,190 --> 00:08:31,980
Quindi stiamo iniziando il risultato è quattro e poi moltiplicheremo di 1 in meno rispetto al risultato

116
00:08:31,980 --> 00:08:34,140
che è tre e quindi sottrarre 1.

117
00:08:34,160 --> 00:08:38,110
Quindi moltiplica per 2 e poi moltiplica per 1 e poi abbiamo finito.

118
00:08:38,550 --> 00:08:40,430
Quindi quello sicuramente funziona altrettanto bene.

119
00:08:40,440 --> 00:08:43,870
L'unico problema che potremmo incontrare se aggiorniamo.

120
00:08:43,950 --> 00:08:45,800
Proviamo questo fattoriale di tre.

121
00:08:45,840 --> 00:08:51,640
Ci dà 6 5 ci dà 120 e 0 ci dà zero.

122
00:08:51,870 --> 00:08:56,030
Quindi c'è un problema lì, perché quando abbiamo iniziato in questo modo.

123
00:08:56,040 --> 00:08:57,760
Il risultato è uguale a intorpidire.

124
00:08:57,920 --> 00:09:01,740
Se passiamo a zero, iniziamo il risultato come zero.

125
00:09:02,120 --> 00:09:03,250
E poi abbiamo finito.

126
00:09:03,300 --> 00:09:05,190
Non stiamo moltiplicando 0 per nulla.

127
00:09:05,180 --> 00:09:07,630
E anche se lo facessimo, sarebbe ancora zero.

128
00:09:07,910 --> 00:09:12,900
essere qualcosa di simile se i punteggi di intorpidimento equivalgono a zero return 1.

129
00:09:12,960 --> 00:09:18,790
Quindi la soluzione è che avremmo potuto farlo in modo semplice se l'istruzione qui dentro potrebbe

130
00:09:18,990 --> 00:09:22,760
E ricorda se abbiamo una dichiarazione di ritorno che corregge tutto.

131
00:09:23,000 --> 00:09:24,840
Quindi ora dovrebbe andare bene.

132
00:09:25,470 --> 00:09:30,540
Comunque preferisco la prima soluzione perché è più breve e non dobbiamo avere quel caso speciale o

133
00:09:30,780 --> 00:09:36,110
quello che dobbiamo fare è impostare il risultato uguale a 1 all'inizio e che si prende cura di

134
00:09:36,120 --> 00:09:36,820
tutto per noi.

135
00:09:38,860 --> 00:09:42,830
Va bene, affrontiamo l'ultimo che è il serpente del Khabab.

136
00:09:43,330 --> 00:09:49,080
Quindi ricorda che questo dovrebbe prendere una singola stringa e sostituire tutti i trattini con underscore.

137
00:09:49,270 --> 00:09:52,720
Quindi il caso Khabab lo trasforma in caso Snake.

138
00:09:52,720 --> 00:09:57,490
Quindi andrò a definire prima quella funzione e la lascerò vuota per iniziare.

139
00:09:57,550 --> 00:10:01,000
Quindi funzione Facciamo un po 'di spazio qui.

140
00:10:01,000 --> 00:10:05,720
La funzione Khabab to snake contiene una singola stringa.

141
00:10:05,740 --> 00:10:10,350
Lo chiameremo semplicemente TR e quindi inseriremo la nostra logica.

142
00:10:10,420 --> 00:10:13,530
Ma prima ho intenzione di riempire di nuovo qualche pseudo-codice.

143
00:10:13,540 --> 00:10:22,630
Quello che vogliamo fare è sostituire tutti i trattini con trattini

144
00:10:25,510 --> 00:10:30,000
bassi e infine tornare come TR.

145
00:10:30,760 --> 00:10:34,640
Quindi il nodo di questo problema è che non sappiamo come farlo realmente.

146
00:10:34,660 --> 00:10:38,000
Come sostituiamo tutti i caratteri di una stringa.

147
00:10:38,530 --> 00:10:40,000
E ancora questo era deliberato.

148
00:10:40,030 --> 00:10:43,920
Volevo che tu dovessi provare a cercare questo per trovarlo online.

149
00:10:43,930 --> 00:10:46,000
È un'abilità davvero molto importante.

150
00:10:46,510 --> 00:10:51,290
Quindi la prima cosa che farei è capire come voglio esprimere la mia ricerca su Google.

151
00:10:51,370 --> 00:10:55,810
rendere la tua ricerca il più generale possibile in modo da non Non voglio

152
00:10:55,810 --> 00:11:00,790
includere elementi su trattini e caratteri di sottolineatura o caso di serpente e caso Khabab.

153
00:11:00,970 --> 00:11:07,430
Quindi sembra qualcosa di abbastanza ovvio, ma avrà davvero un grande impatto sul tipo di risultati che otteniamo nella regola in

154
00:11:07,450 --> 00:11:08,870
cui vivo è che vuoi

155
00:11:08,950 --> 00:11:14,290
Quindi, invece, potremmo voler fare una ricerca cercando di scoprire come sostituiamo qualsiasi carattere in una stringa, sia che si tratti di un

156
00:11:14,740 --> 00:11:17,620
trattino o di un trattino basso o di un segno di dollaro.

157
00:11:18,040 --> 00:11:19,660
Quindi andiamo avanti e provalo.

158
00:11:19,690 --> 00:11:26,240
Vado a cercare la stringa di caratteri javascript replace.

159
00:11:26,940 --> 00:11:29,120
E vediamo cosa otteniamo.

160
00:11:29,350 --> 00:11:31,010
Ottieni alcuni risultati qui.

161
00:11:31,090 --> 00:11:35,020
Mi piacerebbe evitare le scuole W3 quindi proviamo questi due.

162
00:11:35,140 --> 00:11:37,740
Come sostituire un carattere in un particolare indice.

163
00:11:37,750 --> 00:11:40,560
Quindi non è proprio quello che stiamo cercando.

164
00:11:40,600 --> 00:11:42,010
Questo sembra buono però.

165
00:11:42,010 --> 00:11:44,610
Sostituisci tutte le virgole in una stringa.

166
00:11:45,280 --> 00:11:51,310
Quindi, poiché non abbiamo incluso il trattino o il trattino basso del cammello o del kabab, abbiamo ottenuto

167
00:11:51,310 --> 00:11:52,840
questo risultato che funzionerà perfettamente.

168
00:11:52,870 --> 00:11:54,820
Questo è per sostituire tutte le virgole.

169
00:11:54,880 --> 00:11:59,890
Dovremo solo cambiare un carattere minuscolo nella soluzione piuttosto che sostituire le virgole.

170
00:11:59,890 --> 00:12:02,230
Vogliamo sostituire i trattini.

171
00:12:02,230 --> 00:12:07,830
Quindi il modo in cui l'overflow dello stack funziona se non hai mai visto un top è la domanda degli utenti.

172
00:12:07,840 --> 00:12:10,230
Quindi non è qui che vogliamo leggere la nostra soluzione.

173
00:12:10,450 --> 00:12:15,220
Questa è la domanda di una domanda e le risposte sono in risposta.

174
00:12:15,220 --> 00:12:19,840
Quindi sotto questa sezione di risposta e qui andiamo ecco una risposta.

175
00:12:19,840 --> 00:12:25,600
Questa persona dice che puoi usare un'espressione regolare con la bandiera G e il bello è che non devi

176
00:12:25,600 --> 00:12:27,250
sapere di cosa si tratta.

177
00:12:27,250 --> 00:12:29,540
Parleremo di più sulle espressioni regolari.

178
00:12:29,590 --> 00:12:32,250
Quindi andiamo avanti e copiamo questo.

179
00:12:33,340 --> 00:12:38,080
Quindi la prima cosa che vuoi fare è adattare questo codice per adattarlo alla nostra particolare situazione.

180
00:12:38,380 --> 00:12:44,260
Quindi non abbiamo bisogno di questa prima dichiarazione di variabile perché in realtà abbiamo la nostra stringa in

181
00:12:44,260 --> 00:12:45,130
arrivo come TR.

182
00:12:45,460 --> 00:12:52,540
Ma dovrò fare la sostituzione come TR in primo luogo e poi vorremmo cambiare ciò che stiamo

183
00:12:52,540 --> 00:12:55,590
sostituendo e con cosa lo stiamo sostituendo.

184
00:12:55,600 --> 00:13:01,330
sostituire i trattini e tutto quello che dirò su questa sintassi è che questa è chiamata un'espressione regolare.

185
00:13:01,330 --> 00:13:02,100
Quindi vogliamo

186
00:13:02,230 --> 00:13:07,810
E qualsiasi cosa mettiamo dentro le barre è lo schema che cercherà di sostituire.

187
00:13:07,810 --> 00:13:13,280
Quindi, se metto qualcosa come i doppi trattini, cercherebbe due trattini di fila.

188
00:13:13,480 --> 00:13:14,470
Quindi è così.

189
00:13:14,500 --> 00:13:20,530
Le espressioni regolari sono molto più complicate dove posso definire modelli molto lunghi e avanzati.

190
00:13:20,710 --> 00:13:23,230
E poi posso sostituirli con qualcosa qui.

191
00:13:23,230 --> 00:13:29,390
Quindi, dobbiamo aggiornare quello che stiamo sostituendo il trattino con il quale è solo un trattino basso.

192
00:13:30,070 --> 00:13:38,500
salvare questo ad una variabile chiamata new string a new poiché TR è il risultato dell'esecuzione della stringa non sostituita.

193
00:13:38,500 --> 00:13:40,350
Così ho intenzione di

194
00:13:40,450 --> 00:13:46,900
Il motivo per cui l'ho fatto è che il punto sostituito non sostituisce in realtà nulla nel TR nella

195
00:13:46,900 --> 00:13:47,790
stringa iniziale stessa.

196
00:13:47,920 --> 00:13:51,520
Restituisce solo una nuova copia con i dati sostituiti.

197
00:13:51,520 --> 00:13:57,850
Quindi voglio catturare quella nuova copia che viene restituita nella nuova variabile stringa e poi tornare

198
00:13:58,150 --> 00:13:59,520
appena nuovo come TR.

199
00:14:00,190 --> 00:14:02,230
Quindi proviamolo nel browser.

200
00:14:02,230 --> 00:14:11,710
i miei problemi di quella pagina e provare Khabab a serpeggiare dei mondi Hello Desch e otteniamo ciao mondo di sottolineatura.

201
00:14:11,740 --> 00:14:13,430
Ho intenzione di aggiornare

202
00:14:13,630 --> 00:14:18,620
Proviamo ancora con ciao mondo di nuovo.

203
00:14:20,420 --> 00:14:23,140
E puoi vederlo sostituisce tutti i trattini.

204
00:14:23,200 --> 00:14:24,170
Quindi è lì.

205
00:14:24,310 --> 00:14:29,430
Quindi, ancora una volta l'attenzione in questo esercizio era davvero su google e cercando di trovare informazioni
