1
00:00:00,210 --> 00:00:00,810
W porządku.

2
00:00:00,810 --> 00:00:03,900
Więc chodźmy nad rozwiązań tych trzech problemów.

3
00:00:03,930 --> 00:00:10,430
Zacznijmy od pierwszego z nich jest nawet tak, aby zacząć tutaj mam zamiar iść do przodu i otworzyć się podaż.

4
00:00:10,740 --> 00:00:19,110
Mam indeks, który w wieku go będę pliku i mam zamiar dodać tag skryptu, a my po prostu nazwać to rozwiązanie, które.

5
00:00:19,230 --> 00:00:21,410
Tak.

6
00:00:21,420 --> 00:00:28,410
Więc następnym aż muszę zrobić to rozwiązanie, które pliku J i mam zamiar zapisać to rozwiązanie.

7
00:00:28,640 --> 00:00:32,130
Tak w tym samym miejscu i dość bezpieczne.

8
00:00:32,700 --> 00:00:35,340
Więc znów zaczynamy się nawet.

9
00:00:35,610 --> 00:00:43,100
Więc mam zamiar zadeklarować funkcja jest jeszcze i to musi podjąć jeden argument.

10
00:00:43,200 --> 00:00:56,990
Miejmy tylko nazwać zdrętwiała a następnie chcemy powrócić true, jeśli nawet return false w przeciwnym wypadku.

11
00:00:57,030 --> 00:00:59,040
Więc jest kilka sposobów jak to zrobić.

12
00:00:59,100 --> 00:01:01,880
Pierwszym z nich jest, aby zrobić to jako wyraźnie, jak to możliwe.

13
00:01:02,070 --> 00:01:15,430
Więc mamy zamiar powiedzieć, czy zdrętwiałe mod 2 jest zero pamiętać, że to, w jaki sposób stwierdzić, czy coś jest, nawet jeśli resztę z dzielenia dwóch pod tym numerem jest zero, jeśli nie ma pozostała.

14
00:01:15,480 --> 00:01:16,680
Oznacza to, że nawet.

15
00:01:16,770 --> 00:01:25,600
Więc jeśli tak jest w przypadku możemy powrócić TRUE else return false.

16
00:01:25,830 --> 00:01:27,230
Właśnie tak.

17
00:01:27,870 --> 00:01:37,240
I mam zamiar przenieść się tutaj tylko po to, aby było jasne, co odpowiada co.

18
00:01:37,470 --> 00:01:39,610
Właśnie tak.

19
00:01:40,080 --> 00:01:41,260
Więc możemy to zrobić.

20
00:01:41,580 --> 00:01:44,480
A ja naprawdę nie zadzwoni do mojej funkcji jeszcze.

21
00:01:44,490 --> 00:01:49,430
Zamierzam otworzyć go w przeglądarce, aby pokazać coś nieco nowego.

22
00:01:49,860 --> 00:01:57,500
Więc jeśli mogę otworzyć konsolę I rzeczywiście mieć dostęp do jest jeszcze w moim konsoli tutaj.

23
00:01:57,870 --> 00:02:09,880
Więc wpisać nawet bez nawiasów i mówi do mnie tak wiem o nawet Oto kod, a jeśli dodać nawiasy trzeba przekazać ten numer w jak 5 i uzyskać fałszywe.

24
00:02:10,440 --> 00:02:19,120
I mogę zrobić to ponownie z czterema lub z jednym lub dziewięćdziesiąt dziewięć i działa świetnie.

25
00:02:19,530 --> 00:02:21,860
Nie ma więc dwie rzeczy są nawet działa.

26
00:02:21,900 --> 00:02:22,910
Więc to jest niesamowite.

27
00:02:22,950 --> 00:02:28,590
Ale co ważniejsze, chcę pokazać, że możemy zdefiniować funkcje i kod w naszych plików.

28
00:02:28,800 --> 00:02:31,420
A potem, kiedy otworzyć tych plików w przeglądarce.

29
00:02:31,620 --> 00:02:35,510
W tym przypadku nasz wieku mu L5, która jest podłączona do naszego pliku JavaScript.

30
00:02:35,580 --> 00:02:40,140
Mogę wtedy dostęp do tych funkcji.

31
00:02:40,140 --> 00:02:42,500
Tak więc istnieje małe Refactor że możemy tutaj.

32
00:02:42,750 --> 00:02:57,470
Mam zamiar skopiować ten kod skomentował na całość i mam zamiar skrócić to tak, jestem po prostu zamiar pokazać wam rozwiązanie, a potem pójdziemy nad tym, jak to działa.

33
00:02:57,480 --> 00:03:00,670
Jest to więc znacznie krótszy powrotu.

34
00:03:00,800 --> 00:03:04,260
Numer dwa równa równych równa zeru.

35
00:03:04,260 --> 00:03:05,610
Warto więc odświeżyć stronę.

36
00:03:05,640 --> 00:03:12,980
Należy upewnić się, że działa nawet dla 4 Prawdą jest, nawet jeśli 3 jest fałszywe.

37
00:03:12,990 --> 00:03:15,060
Nadal działa w ten sam sposób.

38
00:03:16,260 --> 00:03:19,660
Więc sposób, że faktycznie działa ten wiersz tutaj.

39
00:03:19,710 --> 00:03:22,920
Powrót Nahm się potroić równa zeru.

40
00:03:23,130 --> 00:03:28,750
To będzie ocenić ten pierwszy i to jest prawdziwe czy fałszywe stwierdzenie, że jest to logiczna wypowiedź.

41
00:03:29,040 --> 00:03:33,180
Więc zdrętwiałe Trypolis jest równa zero albo będzie prawdziwe, czy fałszywe.

42
00:03:33,270 --> 00:03:35,840
A potem po prostu powrocie prawdziwe lub fałszywe.

43
00:03:36,120 --> 00:03:44,970
Więc zamiast sprawdzać, czy to prawda powrotu prawda i jeśli jest fałszywe return false po prostu natychmiast wyłączyć wartość.

44
00:03:44,970 --> 00:03:48,170
Więc to jest miły mały skrót tam.

45
00:03:49,860 --> 00:03:52,100
Więc następnym górę mamy silnia.

46
00:03:52,320 --> 00:04:03,070
Więc mam zamiar iść do przodu i zacząć od zdefiniowania mojej funkcji wywołanej funkcji silnia silni i wiemy, że trzeba podjąć szereg.

47
00:04:04,110 --> 00:04:05,780
Więc tutaj mam zamiar napisać notatkę.

48
00:04:05,880 --> 00:04:17,340
Więc jeśli ja silni czterech, które powinny dać mi cztery razy trzy razy dwa razy jeden i mam zamiar się z tym.

49
00:04:17,340 --> 00:04:20,820
Więc wewnątrz naszej funkcji zamierzam napisać kilka linijek kodu pseudo.

50
00:04:20,850 --> 00:04:30,050
Pierwszą rzeczą, którą wiemy, że chcesz zrobić, to zdefiniować zmienną wynik, a potem to ostatnia rzecz na powrót funkcji jest zmienną wynikową.

51
00:04:30,480 --> 00:04:42,770
Więc w międzyczasie, że ważne jest, i to, gdzie będziemy obliczać wartość silni i przechowywać w wyniku.

52
00:04:44,060 --> 00:04:47,740
Więc mamy kilka podejść w jaki sposób możemy obliczyć silnia.

53
00:04:47,880 --> 00:05:00,120
Mogliśmy albo rozpocząć ustawiając wynik będzie jeden na samym początku, a następnie mnożąc ją przez dwa, a następnie mnożąc ją przez trzy, a następnie przez 4 lub mogliśmy pójść w drugą stronę, jak my tu mamy.

54
00:05:00,390 --> 00:05:08,140
I mam zamiar zacząć od robi to w ten sposób, więc trzeba wyniku zmiennej var wynik równy 1.

55
00:05:08,730 --> 00:05:15,710
A potem, co musimy zrobić, to ten wynik pomnożyć przez każdą liczbę od 1 do tego numeru.

56
00:05:15,750 --> 00:05:20,110
Tak więc jedna czwarta lub jedna dziesiąta co jest przekazywana jako No.

57
00:05:20,670 --> 00:05:25,840
Więc to zrobić będziemy chcieli użyć pętli możemy użyć jednej pętli for lub pętli while.

58
00:05:26,040 --> 00:05:28,800
Zamierzam użyć pętli for tutaj, bo to jest trochę krótszy.

59
00:05:28,920 --> 00:05:32,750
Więc za daleko i niech po prostu nazwać I.

60
00:05:33,300 --> 00:05:35,060
I moglibyśmy zacząć I jako jeden.

61
00:05:35,160 --> 00:05:37,030
Więc zrobię to pierwszy.

62
00:05:37,410 --> 00:05:47,380
I mamy zamiar utrzymać mnożąc a ja jest mniejsza lub równa znieczulić to mamy zamiar dodać 1 do I za każdym razem.

63
00:05:47,880 --> 00:05:54,950
A potem wszystko, co chcemy zrobić, to pomnożyć wynik przez I.

64
00:05:55,250 --> 00:06:09,250
Więc jeśli mamy przejść przez ten gdybyśmy zrobili to dla czterech silni czterech wyniku rozpoczyna się jeden tu wtedy tworzysz zacznę mówi 1, a wynik mnożymy przez.

65
00:06:09,450 --> 00:06:13,350
Więc to tylko 1 razy 1 którą zauważyłem jest to niepotrzebne.

66
00:06:13,350 --> 00:06:16,410
Więc może chcemy po prostu zacząć to na 2.

67
00:06:16,440 --> 00:06:20,350
Tak więc po raz pierwszy przez mnożymy przez razy wynik.

68
00:06:20,400 --> 00:06:22,560
Więc mamy 1 razy 2.

69
00:06:22,680 --> 00:06:27,710
Następnym razem do I teraz trzy, ponieważ dodaliśmy jeden.

70
00:06:27,990 --> 00:06:30,920
Więc to jest wciąż mniejsza niż liczba, która jest cztery.

71
00:06:30,930 --> 00:06:38,040
Więc mnożymy znowu doprowadzić równa bieżącej wartości rezultatu jest to 3 razy.

72
00:06:39,090 --> 00:06:43,990
Tak więc mamy 6 i następnym razem poprzez Teraz jest cztery.

73
00:06:44,000 --> 00:06:46,250
Tak więc cztery jest mniejsza niż lub równa cztery.

74
00:06:46,250 --> 00:06:47,230
To prawda.

75
00:06:47,580 --> 00:06:54,500
Więc będziemy się mnożyć po raz ostatni przez cztery, a następnie dodasz do I w naszych czterech pętli, a teraz skończymy.

76
00:06:55,250 --> 00:06:57,260
Bo teraz jesteśmy na 5 5.

77
00:06:57,250 --> 00:06:59,380
Jest to nie mniej niż lub równa się cztery.

78
00:07:00,120 --> 00:07:02,000
Więc to wszystko powinno musimy tam robić.

79
00:07:02,000 --> 00:07:04,000
Jest jedna mała zmiana mogliśmy zrobić.

80
00:07:04,050 --> 00:07:06,940
Nie trzeba powiedzieć wynik równy razy wynik.

81
00:07:06,950 --> 00:07:15,240
I możemy skrócić to za pomocą gwiazdy równa który jest po prostu skrótem dla dokładnie to samo, że po prostu miałem.

82
00:07:15,690 --> 00:07:19,770
A potem to ostatnia rzecz, którą trzeba zrobić, to wyniki powrotne.

83
00:07:20,280 --> 00:07:27,620
Więc zapisać otwórzmy ją w odświeżeniu przeglądarki i powinniśmy mieć dostęp do naszej funkcji silni.

84
00:07:27,960 --> 00:07:31,480
Spróbujmy silni trzy i mamy sześć.

85
00:07:31,530 --> 00:07:46,940
Jak o silni czterech lub 10, który jest 360 2000 lub trzy mln 628800, który jest to, co mamy tutaj jako rozwiązanie silnia 10.

86
00:07:47,370 --> 00:07:48,860
A potem niech go wypróbować.

87
00:07:49,110 --> 00:07:52,060
Silnia zera.

88
00:07:53,250 --> 00:07:54,630
I mamy jeden.

89
00:07:54,660 --> 00:07:56,230
Tak to działa doskonale.

90
00:07:56,670 --> 00:07:58,510
Więc to wszystko, co musimy zrobić silnia.

91
00:07:58,710 --> 00:08:05,090
Jak już wspomniałem można zrobić to w innym kierunku, gdzie zaczynamy z wynikiem równym szeregu.

92
00:08:05,160 --> 00:08:06,420
I pracujemy do tyłu.

93
00:08:06,540 --> 00:08:08,450
A to byłoby bardzo proste modyfikacje.

94
00:08:08,670 --> 00:08:17,930
Zasadniczo chcemy to zmienić się otępiały i wtedy zaczniemy tutaj, w jednym poniżej zdrętwiałe while I.

95
00:08:17,930 --> 00:08:24,220
Jest większa niż lub równa 1 i.

96
00:08:24,260 --> 00:08:25,780
Minus minus.

97
00:08:26,190 --> 00:08:34,140
Więc zaczynamy wynik wynosi cztery, a potem mamy zamiar pomnożyć przez 1 mniejsza niż wynik, który jest trzy, a następnie odjąć 1.

98
00:08:34,160 --> 00:08:38,110
Więc należy pomnożyć przez 2, a następnie pomnożyć przez 1, a potem skończymy.

99
00:08:38,550 --> 00:08:40,430
Tak, że jeden na pewno działa tak samo.

100
00:08:40,440 --> 00:08:43,870
Jedyny problem, że mogliśmy napotkasz gdybyśmy odświeżyć.

101
00:08:43,950 --> 00:08:45,800
Spróbujmy to silni trzech.

102
00:08:45,840 --> 00:08:51,640
To daje nam 6 5 daje nam 120 i 0 daje nam zero.

103
00:08:51,870 --> 00:08:56,030
Więc nie ma problemu tam, bo kiedy zaczęliśmy ten sposób.

104
00:08:56,040 --> 00:08:57,760
Wynik jest równy zdrętwiałe.

105
00:08:57,920 --> 00:09:01,740
Jeśli przechodzą w zera zaczynamy wynik jako zero.

106
00:09:02,120 --> 00:09:03,250
A potem skończymy.

107
00:09:03,300 --> 00:09:05,190
Nie jesteśmy pomnożenie 0 niczym.

108
00:09:05,180 --> 00:09:07,630
I nawet jeśli zrobiliśmy to nadal zero.

109
00:09:07,910 --> 00:09:18,790
Tak więc rozwiązanie to możemy mieć to proste if tutaj, że może być coś podobnego, jeśli zdrętwiałe wyniki równa zero zwrotu 1.

110
00:09:18,990 --> 00:09:22,760
I pamiętaj, jeśli mamy instrukcji return to zwarć wszystkiego.

111
00:09:23,000 --> 00:09:24,840
Więc teraz powinno być dobrze iść.

112
00:09:25,470 --> 00:09:36,820
Jednak wolę pierwsze rozwiązanie, ponieważ jest krótsza i nie musimy mieć ten szczególny przypadek albo że musimy zrobić, to ustawić wynik równy 1 na początku i że dba o wszystko dla nas.

113
00:09:38,860 --> 00:09:42,830
Dobrze więc Zajmijmy ostatni, który jest chabab do węża.

114
00:09:43,330 --> 00:09:49,080
Więc pamiętaj, to powinien wziąć jeden ciąg i zastąpić wszystkie kreski podkreślenia.

115
00:09:49,270 --> 00:09:52,720
Tak to trwa sprawa chabab zamienia ją w przypadku węża.

116
00:09:52,720 --> 00:09:57,490
Więc mam zamiar iść zdefiniować tę funkcję pierwsza, a ja po prostu pozostaw puste, aby rozpocząć.

117
00:09:57,550 --> 00:10:01,000
Więc funkcja Zróbmy trochę miejsca tutaj.

118
00:10:01,000 --> 00:10:05,720
Funkcja chabab do węża trwa w jednym ciągiem.

119
00:10:05,740 --> 00:10:10,350
Będziemy po prostu zadzwoń go jako TR a wtedy umieścić naszą logikę tam.

120
00:10:10,420 --> 00:10:13,530
Ale najpierw mam zamiar ponownie wypełnić jakąś pseudo kod.

121
00:10:13,540 --> 00:10:30,000
To, co chcemy zrobić, to wymienić wszystkie kreski podkreślenia, a potem wreszcie wrócić jak TR.

122
00:10:30,760 --> 00:10:34,640
Więc sedno tego problemu jest to, że nie wiemy, jak faktycznie zrobić.

123
00:10:34,660 --> 00:10:38,000
W jaki sposób wymienić wszystkich jednego znaku w ciągu.

124
00:10:38,530 --> 00:10:40,000
I znowu to było celowe.

125
00:10:40,030 --> 00:10:43,920
Chciałem, żebyś musiał spróbować i sprawdzić to, aby znaleźć się w tym on-line.

126
00:10:43,930 --> 00:10:46,000
Jest to naprawdę bardzo ważna umiejętność.

127
00:10:46,510 --> 00:10:51,290
Więc pierwszą rzeczą, którą chciałbym zrobić, to dowiedzieć się, jak chcę moje słowo wyszukiwania w Google.

128
00:10:51,370 --> 00:11:08,870
Tak to brzmi jak coś, co byłoby dość oczywiste, ale to naprawdę będzie miał duży wpływ na rodzaje wyników, które możemy uzyskać w regule, że żyję przez to, że chcesz, aby Twoje wyszukiwanie jako ogólnie, jak to możliwe, więc don 't chcesz dołączyć rzeczy o myślników i podkreśleń lub wypadku wąż i przypadku chabab.

129
00:11:08,950 --> 00:11:17,620
Zamiast więc możemy chcieć dokonać wyszukiwania próbuje dowiedzieć się, jak możemy zastąpić dowolny znak w łańcuchu czy to myślnik lub podkreślenie lub znak dolara.

130
00:11:18,040 --> 00:11:19,660
Więc idź naprzód i spróbować.

131
00:11:19,690 --> 00:11:26,240
Idę szukać javascript zastąpi ciąg znaków.

132
00:11:26,940 --> 00:11:29,120
I zobaczmy, co mamy.

133
00:11:29,350 --> 00:11:31,010
Dostać kilka wyników tutaj.

134
00:11:31,090 --> 00:11:35,020
Chciałbym uniknąć szkoły W3 więc spróbujmy te dwa.

135
00:11:35,140 --> 00:11:37,740
Jak zastąpić znak w danym indeksie.

136
00:11:37,750 --> 00:11:40,560
Więc to nie jest całkiem to, czego szukamy.

137
00:11:40,600 --> 00:11:42,010
Ten wygląda na dobre, choć.

138
00:11:42,010 --> 00:11:44,610
Wymień wszystkie przecinki w ciągu.

139
00:11:45,280 --> 00:11:52,840
Więc dlatego, że nie zawierają myślnika lub podkreślenia wielbłąda lub kabab mamy ten wynik, który będzie działać dobrze.

140
00:11:52,870 --> 00:11:54,820
Ten jest wymienić wszystkie przecinki.

141
00:11:54,880 --> 00:11:59,890
Będziemy wystarczy zmienić jeden mały znak w roztworze, a nie zastąpienie przecinków.

142
00:11:59,890 --> 00:12:02,230
Chcemy wymienić myślnikami.

143
00:12:02,230 --> 00:12:07,830
Więc przepełnienie stosu działa tak jeśli nigdy nie widziałem w górę górna jest pytanie askers.

144
00:12:07,840 --> 00:12:10,230
Więc to nie jest miejsce, gdzie chcemy, aby przeczytać nasze rozwiązanie.

145
00:12:10,450 --> 00:12:15,220
To jest zadawanie pytań i odpowiedzi są w odpowiedzi.

146
00:12:15,220 --> 00:12:19,840
Tak więc na podstawie niniejszej sekcji odpowiedź i jedziemy oto odpowiedź.

147
00:12:19,840 --> 00:12:27,250
Ta osoba mówi, można użyć wyrażenia regularnego z flagą G i wielką rzeczą jest to, że nie trzeba wiedzieć, co to jest.

148
00:12:27,250 --> 00:12:29,540
Będziemy mówić więcej o wyrażeniach regularnych.

149
00:12:29,590 --> 00:12:32,250
Więc śmiało i skopiować ten over.

150
00:12:33,340 --> 00:12:38,080
Więc pierwszą rzeczą, którą chcesz zrobić, to dostosować ten kod, aby dopasować naszą szczególną sytuację.

151
00:12:38,380 --> 00:12:45,130
Więc nie musimy tego pierwszego deklaracji zmiennych, ponieważ faktycznie mamy nasz ciąg najbliższych as TR.

152
00:12:45,460 --> 00:12:55,590
Ale będę musiał zrobić, to zrobić to wymienić się jako TR w pierwszej kolejności, a następnie będziemy chcą zmienić to, co mamy do zastąpienia, a co jesteśmy zastępując ją.

153
00:12:55,600 --> 00:13:02,100
Dlatego chcemy, aby zastąpić kreski i wszystko, co powiem o tym składni jest to, że nazywa się to wyrażenie regularne.

154
00:13:02,230 --> 00:13:07,810
I cokolwiek umieścić wewnątrz z ukośniki to wzór, który będzie wyglądać zastąpić.

155
00:13:07,810 --> 00:13:13,280
Więc jeśli mogę umieścić coś takiego podwójnymi kreskami to będzie wyglądać na dwie kreski w wierszu.

156
00:13:13,480 --> 00:13:14,470
Więc to jest to.

157
00:13:14,500 --> 00:13:20,530
Wyrażenia regularne są znacznie bardziej skomplikowane, gdzie można zdefiniować bardzo długich i skomplikowanych wzorów.

158
00:13:20,710 --> 00:13:23,230
A potem mogę wymienić je na coś tutaj.

159
00:13:23,230 --> 00:13:29,390
Więc musimy aktualizować co mamy zastępując kreskę, z którym jest tylko podkreślenia.

160
00:13:30,070 --> 00:13:40,350
Więc mam zamiar zapisać to do zmiennej o nazwie nowy łańcuch nowy jak TR jest wynikiem uruchomiony ciąg nie zastąpi.

161
00:13:40,450 --> 00:13:47,790
Powodem zrobiłem to, że kropkę zastępuje faktycznie nie zastąpi nic w TR w samym ciąg początkowej.

162
00:13:47,920 --> 00:13:51,520
To po prostu zwraca nową kopię z wymienianych danych.

163
00:13:51,520 --> 00:13:59,520
Więc chcę uchwycić ten nowy egzemplarz, który jest zwrócony w nowej zmiennej łańcuchowej, a następnie po prostu wrócić jak nowa TR.

164
00:14:00,190 --> 00:14:02,230
Więc spróbujmy w przeglądarce.

165
00:14:02,230 --> 00:14:13,430
Mam zamiar odświeżyć moje problemy, które strony i spróbuj chabab się wąż Witam DESCH światów i otrzymujemy komentarzy podkreślenia świat.

166
00:14:13,630 --> 00:14:18,620
Spróbujmy jeszcze raz z Hello World ponownie.

167
00:14:20,420 --> 00:14:23,140
I widać, że zastępuje wszystkie kreski.

168
00:14:23,200 --> 00:14:24,170
Więc to tam.
