1
00:00:00,210 --> 00:00:00,810
Tudo bem.

2
00:00:00,810 --> 00:00:03,900
Então vamos analisar as soluções para esses três problemas.

3
00:00:03,930 --> 00:00:10,100
Vamos começar com o primeiro é mesmo, então, para começar aqui, vou avançar e abrir o suprimento.

4
00:00:10,740 --> 00:00:18,530
Eu tenho um índice que envelheceu ele vou arquivar e vou adicionar uma tag de script e nós vamos chamar essa

5
00:00:18,750 --> 00:00:19,110
solução.

6
00:00:19,230 --> 00:00:21,410
Sim.

7
00:00:21,420 --> 00:00:28,410
Então, em seguida, eu preciso fazer essa solução que J e eu vou salvar essa solução.

8
00:00:28,640 --> 00:00:32,130
Sim no mesmo lugar e bastante seguro.

9
00:00:32,700 --> 00:00:35,340
Então, novamente estamos começando é mesmo.

10
00:00:35,610 --> 00:00:38,430
Então, vou declarar que a função é uniforme e

11
00:00:41,340 --> 00:00:43,100
precisa ter um único argumento.

12
00:00:43,200 --> 00:00:47,640
Vamos chamar isso de entorpe e então

13
00:00:50,580 --> 00:00:56,990
queremos retornar verdadeiro se mesmo retornar falso caso contrário.

14
00:00:57,030 --> 00:00:59,040
Então, existem algumas maneiras de fazer isso.

15
00:00:59,100 --> 00:01:01,880
O primeiro é fazê-lo o mais explicitamente possível.

16
00:01:02,070 --> 00:01:10,830
disso, como nós dizemos se algo é mesmo se o restante de dividir dois nesse número é zero se não houver restante.

17
00:01:10,830 --> 00:01:15,430
Então, vamos dizer se o mod 2 numb é zero, lembre-se

18
00:01:15,480 --> 00:01:16,680
Isso significa que é mesmo.

19
00:01:16,770 --> 00:01:25,600
Então, se for esse o caso, podemos retornar TRUE else return false.

20
00:01:25,830 --> 00:01:27,230
Bem desse jeito.

21
00:01:27,870 --> 00:01:29,520
E vou mudar isso

22
00:01:32,820 --> 00:01:37,240
aqui apenas para deixar claro o que corresponde ao que.

23
00:01:37,470 --> 00:01:39,610
Bem desse jeito.

24
00:01:40,080 --> 00:01:41,260
Então podemos fazer isso.

25
00:01:41,580 --> 00:01:44,480
E ainda não vou chamar minha função ainda.

26
00:01:44,490 --> 00:01:49,430
Eu vou abri-lo no navegador para mostrar-lhe algo um pouco novo.

27
00:01:49,860 --> 00:01:57,500
Então, se eu abrir meu console, eu realmente tenho acesso até mesmo no meu console.

28
00:01:57,870 --> 00:02:04,170
Então eu escrevo é mesmo sem parênteses e isso me diz que sim, eu sei sobre é mesmo. Aqui está

29
00:02:04,170 --> 00:02:09,880
o código e se eu adicionar os parênteses eu preciso passar esse número como 5 e eu fico falso.

30
00:02:10,440 --> 00:02:19,120
E eu posso fazê-lo novamente com quatro ou com um ou com noventa e nove e funciona muito bem.

31
00:02:19,530 --> 00:02:21,860
Então, há duas coisas que há é mesmo funciona.

32
00:02:21,900 --> 00:02:22,910
Então isso é fantástico.

33
00:02:22,950 --> 00:02:28,590
Mas, mais importante, quero mostrar que podemos definir funções e códigos em nossos arquivos.

34
00:02:28,800 --> 00:02:31,420
E então, quando abrimos esses arquivos no navegador.

35
00:02:31,620 --> 00:02:35,510
Nesse caso, nossa idade ele L5 que está conectado ao nosso arquivo javascript.

36
00:02:35,580 --> 00:02:40,140
Posso então acessar essas funções.

37
00:02:40,140 --> 00:02:42,500
Então, há um pequeno refator que podemos fazer aqui.

38
00:02:42,750 --> 00:02:49,650
Eu vou copiar este código comentado e eu vou encurtar isso, então

39
00:02:49,650 --> 00:02:57,470
eu vou mostrar a solução primeiro e então vamos analisar como isso funciona.

40
00:02:57,480 --> 00:03:00,670
Portanto, este é um retorno substancialmente mais curto.

41
00:03:00,800 --> 00:03:04,260
O número dois é igual a zero.

42
00:03:04,260 --> 00:03:05,610
Então, vamos atualizar a página.

43
00:03:05,640 --> 00:03:12,980
Certifique-se de que funciona é mesmo para 4 é verdade é mesmo se 3 for falso.

44
00:03:12,990 --> 00:03:15,060
Ainda funciona da mesma maneira.

45
00:03:16,260 --> 00:03:19,660
Então, a maneira como ele realmente funciona nesta linha aqui.

46
00:03:19,710 --> 00:03:22,920
Retornar Nahm para triplicar igual a zero.

47
00:03:23,130 --> 00:03:28,750
Vai avaliar isso primeiro e essa é uma afirmação verdadeira ou falsa, é uma declaração booleana.

48
00:03:29,040 --> 00:03:33,180
Então, entorpecido para Tripoli é igual a zero, será verdadeiro ou falso.

49
00:03:33,270 --> 00:03:35,840
E então estamos retornando verdadeiro ou falso.

50
00:03:36,120 --> 00:03:43,800
Então, ao invés de verificar se é verdade, volte verdadeiro e, se for falso, seja falso, simplesmente transformamos

51
00:03:43,800 --> 00:03:44,970
o valor imediatamente.

52
00:03:44,970 --> 00:03:48,170
Então é um pequeno atalho legal lá.

53
00:03:49,860 --> 00:03:52,100
Então, em seguida, temos fatorial.

54
00:03:52,320 --> 00:04:00,510
Então, eu vou seguir em frente e começar definindo minha função chamada fatorial de função fatorial e sabemos

55
00:04:00,510 --> 00:04:03,070
que precisamos de um número.

56
00:04:04,110 --> 00:04:05,780
Então aqui embaixo eu vou escrever uma nota.

57
00:04:05,880 --> 00:04:14,430
Então, se eu fizesse um fatorial de quatro que me dê quatro vezes três vezes duas

58
00:04:14,430 --> 00:04:17,340
vezes e eu irei com isso.

59
00:04:17,340 --> 00:04:20,820
Então, dentro de nossa função, vou escrever algumas linhas de pseudo-código.

60
00:04:20,850 --> 00:04:26,730
A primeira coisa que sabemos que queremos fazer é definir uma variável de resultado e então a

61
00:04:26,730 --> 00:04:30,050
última coisa na função é retornar a variável de resultado.

62
00:04:30,480 --> 00:04:34,230
Então, entretanto, isso é importante e é aí

63
00:04:36,960 --> 00:04:42,770
que vamos calcular o valor do fatorial e da loja em resultado.

64
00:04:44,060 --> 00:04:47,740
Então, temos algumas abordagens sobre como podemos calcular o fatorial.

65
00:04:47,880 --> 00:04:54,290
Podemos começar por definir o resultado para ser um no início e depois multiplicá-lo por dois e depois multiplicá-lo

66
00:04:54,620 --> 00:04:59,910
por três e depois por 4 ou podemos ir ao contrário como nós temos aqui.

67
00:05:00,390 --> 00:05:08,140
E eu vou começar por fazê-lo desta forma, então você precisa de uma variável de resultado, o resultado var é igual a 1.

68
00:05:08,730 --> 00:05:15,710
E então, o que precisamos fazer é multiplicar esse resultado por cada número entre 1 e esse número.

69
00:05:15,750 --> 00:05:20,110
Então, um em cada quatro ou um em dez, o que quer que seja passado, como não.

70
00:05:20,670 --> 00:05:25,840
Então, para fazer isso, queremos usar um loop, podemos usar um loop para loop ou while.

71
00:05:26,040 --> 00:05:28,800
Eu vou usar um loop para aqui porque é um pouco mais curto.

72
00:05:28,920 --> 00:05:32,750
Então, por muito tempo e vamos chamar isso.

73
00:05:33,300 --> 00:05:35,060
E nós poderíamos começar eu como um.

74
00:05:35,160 --> 00:05:37,030
Então eu vou fazer isso primeiro.

75
00:05:37,410 --> 00:05:45,330
E vamos continuar a multiplicar enquanto eu for menor ou igual a entorpecido, então vamos adicionar

76
00:05:45,480 --> 00:05:47,380
1 a cada vez.

77
00:05:47,880 --> 00:05:54,950
E então, tudo o que queremos fazer é multiplicar o resultado por I.

78
00:05:55,250 --> 00:06:04,080
Então, se passarmos por isso, se o fizéssemos por quatro fatoriais de quatro resultados iniciados como um aqui,

79
00:06:04,120 --> 00:06:09,250
então estamos criando, eu começo diz 1 e multiplicamos por isso.

80
00:06:09,450 --> 00:06:13,350
Então, isso é apenas 1 vez 1, e notei que é desnecessário.

81
00:06:13,350 --> 00:06:16,410
Então, podemos querer começar isso apenas às 2.

82
00:06:16,440 --> 00:06:20,350
Então, pela primeira vez, multiplicamos por vezes.

83
00:06:20,400 --> 00:06:22,560
Então ficamos 1 vezes 2.

84
00:06:22,680 --> 00:06:27,710
Na próxima vez, eu tenho três, porque nós adicionamos um.

85
00:06:27,990 --> 00:06:30,920
Então, isso ainda é inferior ao número que é quatro.

86
00:06:30,930 --> 00:06:38,040
Então, multiplicamos novamente, o resultado é igual ao valor atual, um resultado que é esse 3 vezes.

87
00:06:39,090 --> 00:06:43,990
Então, temos 6 e, na próxima vez, agora tenho quatro.

88
00:06:44,000 --> 00:06:46,250
Então quatro são menores ou iguais a quatro.

89
00:06:46,250 --> 00:06:47,230
Isso é verdade.

90
00:06:47,580 --> 00:06:53,790
Então, vamos multiplicar uma última vez por quatro e, em seguida, adicionar um a I em nosso loop quatro e agora

91
00:06:53,790 --> 00:06:54,500
estamos finalizados.

92
00:06:55,250 --> 00:06:57,260
Porque agora estamos às 5 5.

93
00:06:57,250 --> 00:06:59,380
Não é igual ou inferior a quatro.

94
00:07:00,120 --> 00:07:02,000
Então, é tudo o que devemos fazer lá.

95
00:07:02,000 --> 00:07:04,000
Há uma pequena mudança que podemos fazer.

96
00:07:04,050 --> 00:07:06,940
Não precisamos dizer que o resultado seja igual aos tempos de resultados.

97
00:07:06,950 --> 00:07:14,340
Eu posso encurtar isso usando estrelas iguais, o que é apenas um atalho para a mesma coisa que acabamos

98
00:07:14,340 --> 00:07:15,240
de ter.

99
00:07:15,690 --> 00:07:19,770
E então, a última coisa que precisamos fazer é retornar os resultados.

100
00:07:20,280 --> 00:07:27,130
Então, salve, vamos abri-lo na atualização do navegador e devemos ter acesso à nossa função fatorial.

101
00:07:27,960 --> 00:07:31,480
Vamos tentar factorial de três e nós temos seis.

102
00:07:31,530 --> 00:07:41,340
Que tal um fatorial de quatro ou 10 que é 360 2000 ou três milhões seiscentos e vinte e oito mil e oitocentos que

103
00:07:41,390 --> 00:07:46,940
é o que obtivemos aqui como a solução para o fatorial de 10.

104
00:07:47,370 --> 00:07:48,860
E então vamos tentar.

105
00:07:49,110 --> 00:07:52,060
Fatorial de zero.

106
00:07:53,250 --> 00:07:54,630
E nós conseguimos um.

107
00:07:54,660 --> 00:07:56,230
Então, funciona perfeitamente.

108
00:07:56,670 --> 00:07:58,510
Então, é tudo o que precisamos fazer de fatorial.

109
00:07:58,710 --> 00:08:05,090
Como mencionei, você poderia fazer isso na outra direção, onde começamos com o resultado igual ao número.

110
00:08:05,160 --> 00:08:06,420
E trabalhamos para trás.

111
00:08:06,540 --> 00:08:08,450
E essa seria uma modificação muito simples.

112
00:08:08,670 --> 00:08:17,930
Basicamente, mudamos isso para ficar entorpecido e então começamos aqui em um numb abaixo, enquanto eu.

113
00:08:17,930 --> 00:08:24,220
É maior ou igual a 1 i.

114
00:08:24,260 --> 00:08:25,780
Menos menos.

115
00:08:26,190 --> 00:08:31,980
Então estamos começando o resultado é quatro e então vamos multiplicar por 1 menos do que o resultado

116
00:08:31,980 --> 00:08:34,140
que é três e depois subtrair 1.

117
00:08:34,160 --> 00:08:38,110
Então, multiplique por 2 e depois multiplique por 1 e depois terminei.

118
00:08:38,550 --> 00:08:40,430
Então, definitivamente, isso também funciona.

119
00:08:40,440 --> 00:08:43,870
A única questão em que podemos encontrar se atualizarmos.

120
00:08:43,950 --> 00:08:45,800
Vamos tentar este fatorial de três.

121
00:08:45,840 --> 00:08:51,640
Nos dá 6 5 nos dá 120 e 0 nos dá zero.

122
00:08:51,870 --> 00:08:56,030
Então, há um problema, porque quando começamos assim.

123
00:08:56,040 --> 00:08:57,760
O resultado é igual a adormecido.

124
00:08:57,920 --> 00:09:01,740
Se passarmos em zero, começamos o resultado como zero.

125
00:09:02,120 --> 00:09:03,250
E então terminamos.

126
00:09:03,300 --> 00:09:05,190
Não estamos multiplicando 0 por nada.

127
00:09:05,180 --> 00:09:07,630
E mesmo que o fizéssemos, seria ainda zero.

128
00:09:07,910 --> 00:09:12,900
algo como se os valores de entorpecimento fossem iguais a zero return 1.

129
00:09:12,960 --> 00:09:18,790
Então, a solução para isso é que poderíamos ter uma afirmação simples se aqui puder ser

130
00:09:18,990 --> 00:09:22,760
E lembre se nós temos uma declaração de retorno que curto-circuita tudo.

131
00:09:23,000 --> 00:09:24,840
Então, agora deve ser bom ir.

132
00:09:25,470 --> 00:09:30,540
No entanto, eu prefiro a primeira solução, porque é mais curto e não temos que ter esse caso

133
00:09:30,780 --> 00:09:36,110
especial ou que precisamos fazer é estabelecer um resultado igual a 1 no início e que cuida de tudo

134
00:09:36,120 --> 00:09:36,820
para nós.

135
00:09:38,860 --> 00:09:42,830
Tudo bem, então vamos abordar o último que é Khabab para cobra.

136
00:09:43,330 --> 00:09:49,080
Então, lembre-se que isso é suposto ter uma única string e substituir todos os traços com underscores.

137
00:09:49,270 --> 00:09:52,720
Então, o caso Khabab leva o caso Snake.

138
00:09:52,720 --> 00:09:57,490
Então eu vou definir essa função primeiro e vou deixá-la vazia para começar.

139
00:09:57,550 --> 00:10:01,000
Então, vamos fazer algum espaço aqui.

140
00:10:01,000 --> 00:10:05,720
Função Khabab para serpente toma uma única corda.

141
00:10:05,740 --> 00:10:10,350
Vamos chamá-lo como TR e então vamos colocar nossa lógica lá.

142
00:10:10,420 --> 00:10:13,530
Mas primeiro eu vou preencher um novo pseudo código novamente.

143
00:10:13,540 --> 00:10:22,630
O que queremos fazer é substituir todos os traços por sublinhados

144
00:10:25,510 --> 00:10:30,000
e depois retornar como TR.

145
00:10:30,760 --> 00:10:34,640
Então, o cerne desse problema é que não sabemos como realmente fazer isso.

146
00:10:34,660 --> 00:10:38,000
Como substituímos todos os caracteres de uma string.

147
00:10:38,530 --> 00:10:40,000
E novamente isso foi deliberado.

148
00:10:40,030 --> 00:10:43,920
Eu queria que você tivesse que tentar e procurar isso para ter que encontrar isso em linha.

149
00:10:43,930 --> 00:10:46,000
É uma habilidade muito importante.

150
00:10:46,510 --> 00:10:51,290
Então, a primeira coisa que eu faria é descobrir como eu quero dizer a minha pesquisa no Google.

151
00:10:51,370 --> 00:10:55,810
vivo é que você deseja tornar a sua pesquisa tão geral quanto possível, então nós

152
00:10:55,810 --> 00:11:00,790
don 't quer incluir coisas sobre traços e sublinhados ou caso de serpente e caso de Khabab.

153
00:11:00,970 --> 00:11:07,430
Então, isso soa como algo que seria bastante óbvio, mas realmente vai ter um grande impacto nos tipos de resultados que obtemos

154
00:11:07,450 --> 00:11:08,870
na regra em que eu

155
00:11:08,950 --> 00:11:14,290
Então, em vez disso, podemos querer fazer uma pesquisa tentando descobrir como substituímos qualquer caractere em uma string se

156
00:11:14,740 --> 00:11:17,620
é um traço ou um sublinhado ou um sinal de dólar.

157
00:11:18,040 --> 00:11:19,660
Então, vamos em frente e tente isso.

158
00:11:19,690 --> 00:11:26,240
Vou procurar o javascript substituir a seqüência de caracteres.

159
00:11:26,940 --> 00:11:29,120
E vamos ver o que recebemos.

160
00:11:29,350 --> 00:11:31,010
Obtenha alguns resultados aqui.

161
00:11:31,090 --> 00:11:35,020
Gostaria de evitar as escolas do W3, então vamos tentar essas duas.

162
00:11:35,140 --> 00:11:37,740
Como substituo um caractere em um índice específico.

163
00:11:37,750 --> 00:11:40,560
Então não é exatamente o que estamos procurando.

164
00:11:40,600 --> 00:11:42,010
Este parece ser bom.

165
00:11:42,010 --> 00:11:44,610
Substitua todas as vírgulas em uma string.

166
00:11:45,280 --> 00:11:51,310
Então, porque não incluímos o traço ou o sublinhado, o camelo ou o kabab obtivemos esse

167
00:11:51,310 --> 00:11:52,840
resultado que funcionará bem.

168
00:11:52,870 --> 00:11:54,820
Este é para substituir todas as vírgulas.

169
00:11:54,880 --> 00:11:59,890
Precisamos apenas mudar um pequeno personagem na solução em vez de substituir vírgulas.

170
00:11:59,890 --> 00:12:02,230
Queremos substituir os traços.

171
00:12:02,230 --> 00:12:07,830
Então, a maneira como o excesso de pilha funciona se você nunca viu uma parte superior é a pergunta dos requerentes.

172
00:12:07,840 --> 00:12:10,230
Então não é onde queremos ler nossa solução.

173
00:12:10,450 --> 00:12:15,220
Esta é a pergunta de uma pergunta e as respostas estão em resposta.

174
00:12:15,220 --> 00:12:19,840
Então, nesta seção de resposta e aqui vamos aqui uma resposta.

175
00:12:19,840 --> 00:12:25,600
Esta pessoa diz que você pode usar uma expressão regular com a bandeira G e o grande é que você

176
00:12:25,600 --> 00:12:27,250
não precisa saber o que é.

177
00:12:27,250 --> 00:12:29,540
Vamos falar mais sobre expressões regulares.

178
00:12:29,590 --> 00:12:32,250
Então, vamos em frente e copie isso.

179
00:12:33,340 --> 00:12:38,080
Então, a primeira coisa que você quer fazer é adaptar este código para atender a nossa situação particular.

180
00:12:38,380 --> 00:12:44,260
Portanto, não precisamos desta primeira declaração de variável porque, na verdade, nossa cadeia está entrando

181
00:12:44,260 --> 00:12:45,130
como TR.

182
00:12:45,460 --> 00:12:52,540
Mas eu precisarei fazer é fazer o substituto como TR em primeiro lugar e então queremos mudar o que

183
00:12:52,540 --> 00:12:55,590
estamos substituindo e com o que estamos substituindo.

184
00:12:55,600 --> 00:13:01,330
traços e tudo o que vou dizer sobre esta sintaxe aqui é que isso é chamado de expressão regular.

185
00:13:01,330 --> 00:13:02,100
Então, queremos substituir

186
00:13:02,230 --> 00:13:07,810
E o que quer que colocamos dentro das barras é o padrão que ele procurará substituir.

187
00:13:07,810 --> 00:13:13,280
Então, se eu colocar algo como dois traços, seria procurar dois traços seguidos.

188
00:13:13,480 --> 00:13:14,470
Então é isso.

189
00:13:14,500 --> 00:13:20,530
Expressões regulares são muito mais complicadas onde eu posso definir padrões muito longos e avançados.

190
00:13:20,710 --> 00:13:23,230
E então eu posso substituí-los por algo aqui.

191
00:13:23,230 --> 00:13:29,390
Então, nós precisamos atualizar o que estamos substituindo o dash com o qual é apenas um sublinhado.

192
00:13:30,070 --> 00:13:38,500
em uma variável chamada nova string um novo como TR é o resultado da execução da seqüência de caracteres não substituída.

193
00:13:38,500 --> 00:13:40,350
Então, eu vou salvar isso

194
00:13:40,450 --> 00:13:46,900
A razão pela qual eu fiz, é que o ponto substituído não substitui nada no TR na cadeia

195
00:13:46,900 --> 00:13:47,790
inicial propriamente dita.

196
00:13:47,920 --> 00:13:51,520
Apenas retorna uma nova cópia com os dados substituídos.

197
00:13:51,520 --> 00:13:57,850
Então eu quero capturar essa nova cópia que é retornada na nova variável de string e depois

198
00:13:58,150 --> 00:13:59,520
retornar novamente como TR.

199
00:14:00,190 --> 00:14:02,230
Então vamos tentar isso no navegador.

200
00:14:02,230 --> 00:14:11,710
meus problemas naquela página e tentar Khabab para serpentear dos mundos Hello Desch e nós ficamos olá, sublinhamos o mundo.

201
00:14:11,740 --> 00:14:13,430
Eu vou atualizar

202
00:14:13,630 --> 00:14:18,620
Vamos tentar novamente com o mundo do Olá novamente.

203
00:14:20,420 --> 00:14:23,140
E você pode ver isso substituir todos os traços.

204
00:14:23,200 --> 00:14:24,170
Então está lá.

205
00:14:24,310 --> 00:14:29,430
Então, novamente, o foco neste exercício foi realmente no google e tentando encontrar informações
