1
00:00:00,210 --> 00:00:00,810
D'accord.

2
00:00:00,810 --> 00:00:03,900
Passons donc aux solutions à ces trois problèmes.

3
00:00:03,930 --> 00:00:10,430
Commençons par le premier est même si pour commencer ici, je vais aller de l'avant et ouvrir l'offre.

4
00:00:10,740 --> 00:00:19,110
J'ai un index qui l'a vieilli je vais fichier et je vais ajouter une balise script et nous allons appeler cette solution que.

5
00:00:19,230 --> 00:00:21,410
Oui.

6
00:00:21,420 --> 00:00:28,410
Donc, tout à l'heure je dois faire cette solution que J fichier et je vais enregistrer cette solution.

7
00:00:28,640 --> 00:00:32,130
Oui au même endroit et très sûr.

8
00:00:32,700 --> 00:00:35,340
Encore une fois, nous commençons par est même.

9
00:00:35,610 --> 00:00:43,100
Donc, je vais déclarer que la fonction est pair et qu'il doit prendre un seul argument.

10
00:00:43,200 --> 00:00:56,990
Appelons-le simplement engourdi et nous voulons retourner true si même renvoyer false sinon.

11
00:00:57,030 --> 00:00:59,040
Donc, il ya quelques façons de le faire.

12
00:00:59,100 --> 00:01:01,880
La première consiste à le faire aussi explicitement que possible.

13
00:01:02,070 --> 00:01:15,430
Donc, nous allons dire si numb mod 2 est nulle, rappelez-vous que c'est comme nous dire si quelque chose est même si le reste de la division de deux dans ce nombre est de zéro s'il n'y a pas de reste.

14
00:01:15,480 --> 00:01:16,680
Cela signifie que c'est égal.

15
00:01:16,770 --> 00:01:25,600
Donc, si c'est le cas, nous pouvons retourner TRUE sinon retourner faux.

16
00:01:25,830 --> 00:01:27,230
Juste comme ça.

17
00:01:27,870 --> 00:01:37,240
Et je vais passer à cela ici pour préciser ce qui correspond à quoi.

18
00:01:37,470 --> 00:01:39,610
Juste comme ça.

19
00:01:40,080 --> 00:01:41,260
Nous pouvons donc le faire.

20
00:01:41,580 --> 00:01:44,480
Et je ne vais pas réellement appeler ma fonction tout de suite.

21
00:01:44,490 --> 00:01:49,430
Je vais l'ouvrir dans le navigateur pour vous montrer quelque chose de légèrement nouveau.

22
00:01:49,860 --> 00:01:57,500
Donc, si j'ouvre ma console, j'ai effectivement accès à est même dans ma console ici.

23
00:01:57,870 --> 00:02:09,880
Donc, je tape est même sans parenthèses et il me dit oui je sais à propos est même Voici le code et si j'ajoute les parenthèses, j'ai besoin de passer ce nombre en 5 et je reçois faux.

24
00:02:10,440 --> 00:02:19,120
Et je peux le faire à nouveau avec quatre ou avec un ou avec quatre-vingt-dix-neuf et il fonctionne très bien.

25
00:02:19,530 --> 00:02:21,860
Donc, il ya deux choses, il ya même des œuvres.

26
00:02:21,900 --> 00:02:22,910
C'est génial.

27
00:02:22,950 --> 00:02:28,590
Mais surtout, je veux vous montrer que nous pouvons définir les fonctions et le code dans nos fichiers.

28
00:02:28,800 --> 00:02:31,420
Et puis quand nous ouvrons ces fichiers dans le navigateur.

29
00:02:31,620 --> 00:02:35,510
Dans ce cas notre vieilli L5 qui est connecté à notre fichier javascript.

30
00:02:35,580 --> 00:02:40,140
Je peux alors accéder à ces fonctions.

31
00:02:40,140 --> 00:02:42,500
Il y a donc un petit refactor que nous pouvons faire ici.

32
00:02:42,750 --> 00:02:57,470
Je vais copier ce code commenté tous et je vais raccourcir ce que je vais juste vous montrer la solution d'abord et puis nous allons revenir sur la façon dont il fonctionne.

33
00:02:57,480 --> 00:03:00,670
Il s'agit donc d'un rendement sensiblement plus court.

34
00:03:00,800 --> 00:03:04,260
Le nombre deux est égal à égal à zéro.

35
00:03:04,260 --> 00:03:05,610
Alors, actualisons la page.

36
00:03:05,640 --> 00:03:12,980
Assurez-vous que cela fonctionne même pour 4 est vrai est même si 3 est faux.

37
00:03:12,990 --> 00:03:15,060
Fonctionne toujours de la même manière.

38
00:03:16,260 --> 00:03:19,660
Donc, la façon dont il fonctionne réellement cette ligne ici.

39
00:03:19,710 --> 00:03:22,920
Retour Nahm fait au triple égal à zéro.

40
00:03:23,130 --> 00:03:28,750
Il va évaluer ce premier et c'est une déclaration vraie ou fausse, c'est une déclaration booléenne.

41
00:03:29,040 --> 00:03:33,180
Donc, insensible à Tripoli est égal à zéro est soit va être vrai ou faux.

42
00:03:33,270 --> 00:03:35,840
Et puis nous retournons juste vrai ou faux.

43
00:03:36,120 --> 00:03:44,970
Donc, plutôt que de vérifier si c'est vrai retour vrai et si c'est faux renvoie false nous tournons simplement la valeur immédiatement.

44
00:03:44,970 --> 00:03:48,170
C'est donc un petit raccourci.

45
00:03:49,860 --> 00:03:52,100
Donc, à côté, nous avons factorielle.

46
00:03:52,320 --> 00:04:03,070
Donc, je vais aller de l'avant et commencer en définissant ma fonction appelée factorielle fonctionnelle et nous savons besoin de prendre un certain nombre.

47
00:04:04,110 --> 00:04:05,780
Donc, ici, je vais écrire une note.

48
00:04:05,880 --> 00:04:17,340
Donc, si je fais factorial de quatre qui devrait me donner quatre fois trois fois deux fois un et je vais venir avec cela.

49
00:04:17,340 --> 00:04:20,820
Donc à l'intérieur de notre fonction, je vais écrire quelques lignes de pseudo-code.

50
00:04:20,850 --> 00:04:30,050
La première chose que nous savons que nous voulons faire est de définir une variable de résultat et ensuite la dernière chose dans la fonction est de retourner la variable de résultat.

51
00:04:30,480 --> 00:04:42,770
Entre-temps, c'est important, et c'est là que nous allons calculer la valeur factorielle et la valeur en magasin.

52
00:04:44,060 --> 00:04:47,740
Donc, nous avons quelques approches de la façon dont nous pouvons calculer factorielle.

53
00:04:47,880 --> 00:05:00,120
Nous pourrions soit commencer par fixer le résultat pour être un tout au début, puis le multiplier par deux, puis le multiplier par trois et puis par 4 ou nous pourrions aller dans l'autre sens comme nous l'avons ici.

54
00:05:00,390 --> 00:05:08,140
Et je vais commencer par le faire de cette façon si vous avez besoin d'un résultat variable var résultat égal à 1.

55
00:05:08,730 --> 00:05:15,710
Et puis ce que nous devons faire est multiplier ce résultat par chaque nombre entre 1 et ce nombre.

56
00:05:15,750 --> 00:05:20,110
Donc un sur quatre ou un sur dix ce qui est passé en tant que No.

57
00:05:20,670 --> 00:05:25,840
Donc, pour ce faire, nous allons vouloir utiliser une boucle, nous pourrions utiliser soit une boucle for ou une boucle while.

58
00:05:26,040 --> 00:05:28,800
Je vais utiliser une boucle for ici parce que c'est un peu plus court.

59
00:05:28,920 --> 00:05:32,750
Donc, pour de longues années, appelons-le moi.

60
00:05:33,300 --> 00:05:35,060
Et nous pourrions commencer I comme un.

61
00:05:35,160 --> 00:05:37,030
Alors je vais le faire d'abord.

62
00:05:37,410 --> 00:05:47,380
Et nous allons continuer à multiplier alors que je suis inférieur ou égal à numb, puis nous allons ajouter 1 à i à chaque fois.

63
00:05:47,880 --> 00:05:54,950
Et puis tout ce que nous voulons faire est multiplier résultat par I.

64
00:05:55,250 --> 00:06:09,250
Donc, si nous passons par ceci si nous l'avons fait pour quatre factorielle de quatre résultats commence comme un droit ici alors nous créons je commence dit 1 et nous multiplions résultat par.

65
00:06:09,450 --> 00:06:13,350
Donc c'est juste 1 fois 1 que j'ai remarqué est inutile.

66
00:06:13,350 --> 00:06:16,410
Donc, nous pourrions commencer par 2.

67
00:06:16,440 --> 00:06:20,350
Donc la première fois que nous multiplions par le résultat des temps.

68
00:06:20,400 --> 00:06:22,560
Donc nous obtenons 1 fois 2.

69
00:06:22,680 --> 00:06:27,710
La prochaine fois que je suis maintenant trois parce que nous avons ajouté un.

70
00:06:27,990 --> 00:06:30,920
Donc, c'est encore moins que le nombre qui est quatre.

71
00:06:30,930 --> 00:06:38,040
Ainsi nous multiplions de nouveau le résultat égal à la valeur courante un résultat qui est ce temps 3.

72
00:06:39,090 --> 00:06:43,990
Donc nous avons 6 et la prochaine fois, je suis maintenant quatre.

73
00:06:44,000 --> 00:06:46,250
Donc, quatre est inférieur ou égal à quatre.

74
00:06:46,250 --> 00:06:47,230
C'est vrai.

75
00:06:47,580 --> 00:06:54,500
Donc nous allons multiplier une dernière fois par quatre, puis ajouter un à I dans notre boucle quatre et maintenant nous avons terminé.

76
00:06:55,250 --> 00:06:57,260
Parce que maintenant nous sommes à 5 5.

77
00:06:57,250 --> 00:06:59,380
Il n'est pas inférieur ou égal à quatre.

78
00:07:00,120 --> 00:07:02,000
C'est donc tout ce que nous devrions faire.

79
00:07:02,000 --> 00:07:04,000
Il y a un petit changement que nous pourrions faire.

80
00:07:04,050 --> 00:07:06,940
Nous n'avons pas besoin de dire que le résultat est égal aux temps de résultat.

81
00:07:06,950 --> 00:07:15,240
I nous pouvons raccourcir ceci en utilisant l'étoile égale qui est juste un raccourci pour exactement la même chose que nous avions juste.

82
00:07:15,690 --> 00:07:19,770
Et puis la toute dernière chose que nous devons faire est de retourner les résultats.

83
00:07:20,280 --> 00:07:27,620
So save, ouvrons-le dans l'actualisation du navigateur et nous devrions avoir accès à notre fonction factorielle.

84
00:07:27,960 --> 00:07:31,480
Essayons la factorielle de trois et obtenons six.

85
00:07:31,530 --> 00:07:46,940
Qu'en est-il du factoriel de quatre ou 10 qui est 360 2000 ou trois millions six cent vingt huit mille huit cents qui est ce que nous avons obtenu ici comme la solution à la factorielle de 10.

86
00:07:47,370 --> 00:07:48,860
Et puis essayons-le.

87
00:07:49,110 --> 00:07:52,060
Facteur de zéro.

88
00:07:53,250 --> 00:07:54,630
Et nous en avons un.

89
00:07:54,660 --> 00:07:56,230
Donc, il fonctionne parfaitement.

90
00:07:56,670 --> 00:07:58,510
Donc c'est tout ce que nous avons besoin de faire factorielle.

91
00:07:58,710 --> 00:08:05,090
Comme je l'ai mentionné, vous pourriez le faire dans l'autre sens où nous commençons par un résultat égal au nombre.

92
00:08:05,160 --> 00:08:06,420
Et nous travaillons en arrière.

93
00:08:06,540 --> 00:08:08,450
Et ce serait une modification très simple.

94
00:08:08,670 --> 00:08:17,930
Fondamentalement nous changerions cela pour être engourdi et alors nous commencerions ici à un ci-dessous engourdi tandis que I.

95
00:08:17,930 --> 00:08:24,220
Est supérieur ou égal à 1 i.

96
00:08:24,260 --> 00:08:25,780
Minus moins.

97
00:08:26,190 --> 00:08:34,140
Donc, nous commençons résultat est quatre et puis nous allons multiplier par 1 de moins que le résultat qui est trois, puis soustraire 1.

98
00:08:34,160 --> 00:08:38,110
Donc, multipliez par 2, puis multipliez par 1 et alors nous avons terminé.

99
00:08:38,550 --> 00:08:40,430
De sorte que l'un certainement fonctionne aussi bien.

100
00:08:40,440 --> 00:08:43,870
Le seul problème que nous pourrions rencontrer si nous rafraîchissons.

101
00:08:43,950 --> 00:08:45,800
Essayons ce factoriel de trois.

102
00:08:45,840 --> 00:08:51,640
Il nous donne 6 5 nous donne 120 et 0 nous donne zéro.

103
00:08:51,870 --> 00:08:56,030
Il ya donc un problème parce que lorsque nous avons commencé de cette façon.

104
00:08:56,040 --> 00:08:57,760
Le résultat est égal à numb.

105
00:08:57,920 --> 00:09:01,740
Si nous passons à zéro, nous commençons résultat comme zéro.

106
00:09:02,120 --> 00:09:03,250
Et puis nous avons terminé.

107
00:09:03,300 --> 00:09:05,190
Nous ne multiplions pas 0 par rien.

108
00:09:05,180 --> 00:09:07,630
Et même si nous le faisions, ce serait toujours zéro.

109
00:09:07,910 --> 00:09:18,790
Donc, la solution à cela est que nous pourrions avoir simple si déclaration ici qui pourrait être quelque chose comme si numb scores est égal à zéro retour 1.

110
00:09:18,990 --> 00:09:22,760
Et rappelez-vous si nous avons une déclaration de retour qui court-circuit tout.

111
00:09:23,000 --> 00:09:24,840
Alors maintenant, il devrait être bon d'y aller.

112
00:09:25,470 --> 00:09:36,820
Cependant, je préfère la première solution car elle est plus courte et nous n'avons pas à avoir ce cas spécial ou que nous devons faire est de mettre un résultat égal à 1 au début et qui prend soin de tout pour nous.

113
00:09:38,860 --> 00:09:42,830
Très bien alors abordons le dernier qui est Khabab à serpenter.

114
00:09:43,330 --> 00:09:49,080
Donc, n'oubliez pas que cela est censé prendre une seule chaîne et de remplacer tous les tirets avec des traits de soulignement.

115
00:09:49,270 --> 00:09:52,720
Donc, il prend Khabab cas le transforme en Snake.

116
00:09:52,720 --> 00:09:57,490
Donc je vais aller définir cette fonction d'abord et je vais juste laisser vide pour commencer.

117
00:09:57,550 --> 00:10:01,000
So function Faisons un peu d'espace ici.

118
00:10:01,000 --> 00:10:05,720
Fonction Khabab à serpent prend dans une seule chaîne.

119
00:10:05,740 --> 00:10:10,350
Nous l'appellerons TR et nous mettrons notre logique là-dedans.

120
00:10:10,420 --> 00:10:13,530
Mais d'abord je vais remplir un pseudo-code à nouveau.

121
00:10:13,540 --> 00:10:30,000
Ce que nous voulons faire est de remplacer tous les tirets par des traits de soulignement, puis enfin de retourner comme TR.

122
00:10:30,760 --> 00:10:34,640
Donc le noeud de ce problème est que nous ne savons pas comment faire réellement cela.

123
00:10:34,660 --> 00:10:38,000
Comment remplacer tout un caractère dans une chaîne.

124
00:10:38,530 --> 00:10:40,000
Et encore une fois c'était délibéré.

125
00:10:40,030 --> 00:10:43,920
Je voulais que vous deviez essayer de chercher cela pour avoir à trouver cela en ligne.

126
00:10:43,930 --> 00:10:46,000
C'est une compétence très importante.

127
00:10:46,510 --> 00:10:51,290
Donc, la première chose que je voudrais faire est de comprendre comment je veux mot ma recherche sur Google.

128
00:10:51,370 --> 00:11:08,870
Donc, cela ressemble à quelque chose qui serait assez évident, mais il va vraiment avoir un grand impact sur les types de résultats que nous obtenons dans la règle que je vis par est que vous voulez faire votre recherche aussi générale que possible afin que nous 'T veulent inclure des choses sur les tirets et les underscores ou le cas de serpent et le cas de Khabab.

129
00:11:08,950 --> 00:11:17,620
Donc au lieu de cela nous pourrions vouloir faire une recherche essayant de découvrir comment nous remplaçons n'importe quel caractère dans une chaîne si c'est un tiret ou un soulignement ou un signe de dollar.

130
00:11:18,040 --> 00:11:19,660
Alors allons-y et essayez cela.

131
00:11:19,690 --> 00:11:26,240
Je vais chercher javascript remplacer la chaîne de caractères.

132
00:11:26,940 --> 00:11:29,120
Et voyons ce que nous obtenons.

133
00:11:29,350 --> 00:11:31,010
Obtenez quelques résultats ici.

134
00:11:31,090 --> 00:11:35,020
Je voudrais éviter les écoles W3 alors essayons ces deux.

135
00:11:35,140 --> 00:11:37,740
Comment puis-je remplacer un caractère à un index particulier?

136
00:11:37,750 --> 00:11:40,560
Ce n'est donc pas ce que nous recherchons.

137
00:11:40,600 --> 00:11:42,010
Celui-ci semble bon cependant.

138
00:11:42,010 --> 00:11:44,610
Remplacez toutes les virgules d'une chaîne.

139
00:11:45,280 --> 00:11:52,840
Donc, parce que nous n'avons pas inclus le tiret ou le souligné le chameau ou kabab, nous avons obtenu ce résultat qui fonctionnera très bien.

140
00:11:52,870 --> 00:11:54,820
Celui-ci est de remplacer toutes les virgules.

141
00:11:54,880 --> 00:11:59,890
Nous allons juste besoin de changer un caractère minuscule dans la solution plutôt que de remplacer les virgules.

142
00:11:59,890 --> 00:12:02,230
Nous voulons remplacer les tirets.

143
00:12:02,230 --> 00:12:07,830
Donc, la façon dont débordement de pile fonctionne si vous n'avez jamais vu un haut est la question des askers.

144
00:12:07,840 --> 00:12:10,230
Ce n'est donc pas là où nous voulons lire notre solution.

145
00:12:10,450 --> 00:12:15,220
C'est la demande d'une question et les réponses sont en réponse.

146
00:12:15,220 --> 00:12:19,840
Donc, sous cette section réponse et ici nous allons ici une réponse.

147
00:12:19,840 --> 00:12:27,250
Cette personne dit que vous pouvez utiliser une expression régulière avec le drapeau G et la grande chose est que vous n'avez pas à savoir ce qu'il est.

148
00:12:27,250 --> 00:12:29,540
Nous parlerons plus à propos des expressions régulières.

149
00:12:29,590 --> 00:12:32,250
Alors allons de l'avant et copier ce plus.

150
00:12:33,340 --> 00:12:38,080
Donc la première chose que vous voulez faire est d'adapter ce code pour s'adapter à notre situation particulière.

151
00:12:38,380 --> 00:12:45,130
Donc nous n'avons pas besoin de cette déclaration de la première variable parce que nous avons réellement notre chaîne entrant comme TR.

152
00:12:45,460 --> 00:12:55,590
Mais je devrai faire le remplacement en tant que TR en premier lieu et alors nous voudrons changer ce que nous remplaçons et ce que nous le remplaçons avec.

153
00:12:55,600 --> 00:13:02,100
Donc, nous voulons remplacer les tirets et tout ce que je vais dire sur cette syntaxe ici est que cela s'appelle une expression régulière.

154
00:13:02,230 --> 00:13:07,810
Et tout ce que nous mettons à l'intérieur des barres obliques est le modèle qu'il va chercher à remplacer.

155
00:13:07,810 --> 00:13:13,280
Donc, si je mets quelque chose comme des tirets doubles, il serait chercher deux tirets dans une rangée.

156
00:13:13,480 --> 00:13:14,470
Alors c'est tout.

157
00:13:14,500 --> 00:13:20,530
Les expressions régulières sont beaucoup plus compliquées où je peux définir des modèles très longs et avancés.

158
00:13:20,710 --> 00:13:23,230
Et puis je peux les remplacer par quelque chose ici.

159
00:13:23,230 --> 00:13:29,390
Donc, nous devons mettre à jour ce que nous remplaçons le tiret avec qui est juste un trait de soulignement.

160
00:13:30,070 --> 00:13:40,350
Donc, je vais enregistrer ceci à une variable appelée new string a new comme TR est le résultat de l'exécution de la chaîne de caractères ne pas remplacer.

161
00:13:40,450 --> 00:13:47,790
La raison pour laquelle j'ai fait que le point remplacé ne remplace en fait rien dans le TR dans la chaîne initiale elle-même.

162
00:13:47,920 --> 00:13:51,520
Il renvoie simplement une nouvelle copie avec les données remplacées.

163
00:13:51,520 --> 00:13:59,520
Donc, je veux capturer cette nouvelle copie qui est renvoyée dans la nouvelle variable de chaîne et puis juste retourner nouveau comme TR.

164
00:14:00,190 --> 00:14:02,230
Alors essayons ceci dans le navigateur.

165
00:14:02,230 --> 00:14:13,430
Je vais rafraîchir mes problèmes cette page et essayer Khabab au serpent des mondes Bonjour Desch et nous avons bonjour souligner le monde.

166
00:14:13,630 --> 00:14:18,620
Essayons de nouveau avec bonjour monde encore.

167
00:14:20,420 --> 00:14:23,140
Et vous pouvez le voir remplace tous les tirets.

168
00:14:23,200 --> 00:14:24,170
Donc c'est tout.
