1
00:00:00,720 --> 00:00:03,160
我會回來的這一課。

2
00:00:03,150 --> 00:00:07,480
我們將繼續談論比賽，我們要專注於數組迭代。

3
00:00:07,740 --> 00:00:14,470
所以，直到這一點上，我們已經看到了我們如何能夠創建一個數組的數組是多麼單純的數據，我們可以存儲任何我們想要在那裡的列表。

4
00:00:14,520 --> 00:00:30,410
我們可以存儲數字和字符串和布爾值，我們可以存儲其他數組但這個想法是，我們已經存儲在那裡的東西，我們已經採取的事情了，我們已經進入信息，如給我的第一個項目給我的最後一個項目或我們使用push和pop和shift和n移位。

5
00:00:30,450 --> 00:00:38,470
但是，直到這個時候，我們還沒有看到我們如何能夠獲得每一塊數組或做一些代碼，每個項目在數組中。

6
00:00:38,820 --> 00:00:44,380
這就是數組迭代指的是遍歷列表遍歷數組。

7
00:00:44,400 --> 00:00:50,140
通過陣列基本上循環和做一些每個項目或每個項目。

8
00:00:50,250 --> 00:00:55,560
所以，我給你幾個現實世界的應用陣列迭代的一些真實的例子。

9
00:00:55,560 --> 00:00:59,010
因此，一個常見的例子就是文章和評論。

10
00:00:59,010 --> 00:01:06,450
因此，一個博客帖子無論是tumblr或reddit的我猜tumblr並不真的有意見，但我們說閱讀和閱讀。

11
00:01:06,450 --> 00:01:08,620
後有一堆的意見。

12
00:01:08,850 --> 00:01:31,740
那麼這些評論都存儲在一個數組，並以顯示所有實際發生的這些意見是，一些代碼循環通過它遍歷數組10000意見可能和每一個它每次都使他們所有的內容，使一點點盟友或者它使一個段落無論評論是他的老化在一個循環中產生。

13
00:01:31,830 --> 00:01:37,160
當我們在伊拉克的遍歷，我們會做一些非常有意見非常相似的為好。

14
00:01:37,200 --> 00:01:46,080
後來在這個過程中，當我們談論Noad，並表示其重新開發，我們將使用一個循環來遍歷的意見陣列打印出每個評論。

15
00:01:46,080 --> 00:01:49,140
當你把它做的名單我們也將使用數組迭代。

16
00:01:49,170 --> 00:02:01,380
因此，我們已經開始一個簡單的待辦事項清單，但是，當我們每到malmsey SS實際添加將使用循環來對每個做，並為每個做一個小格，然後我們會樣式各一台。

17
00:02:01,410 --> 00:02:08,170
我們要當你犯了一個博客應用同樣的事情用一個循環，並為我們的博客陣列中的每個博客，我們要做些什麼。

18
00:02:08,280 --> 00:02:10,250
我們會讓頁面上的小博客文章。

19
00:02:10,440 --> 00:02:12,480
所以輻射是非常重要的。

20
00:02:12,480 --> 00:02:15,180
這也可能是我們與數組做最普通的事情。

21
00:02:15,210 --> 00:02:16,360
我們的數據的列表。

22
00:02:16,470 --> 00:02:19,500
通常你想做些什麼，以在該列表中的一切。

23
00:02:19,560 --> 00:02:26,780
否則，如果你只是想在的第一件事總是工作或第七項始終也許你不應該使用數組來。

24
00:02:26,820 --> 00:02:28,910
也許你只是存儲在自己的該項目。

25
00:02:29,220 --> 00:02:30,990
因此，我們有三個目標在這裡。

26
00:02:31,080 --> 00:02:39,130
第一個是我想向你展示如何使用for循環遍歷數組，然後我會向你展示一些全新的呼籲每個。

27
00:02:39,420 --> 00:02:44,340
所以，你已經看到了前4圈，但在foreach是一些全新的它是在我看來，興奮。

28
00:02:44,340 --> 00:02:46,460
這的的確確是有用的。

29
00:02:46,530 --> 00:02:49,340
然後我們會做的最後一件事是比較兩個。

30
00:02:49,350 --> 00:02:54,940
所以，讓我們從這裡開始我必須通過數組使用for循環來的一個例子。

31
00:02:55,260 --> 00:03:00,480
所以我們有一個具有四個項目的字符串紅橙黃綠顏色組成的數組。

32
00:03:00,760 --> 00:03:06,530
現在，如果我想打印出每個人，如果我們不談論這個我們沒有做一個重新迭代。

33
00:03:06,900 --> 00:03:08,750
我會在這裡複製此。

34
00:03:09,480 --> 00:03:12,180
我必須做的就是這樣的事情。

35
00:03:12,220 --> 00:03:23,420
取消該日誌的色彩零，然後做同樣的事情為1和2。

36
00:03:23,910 --> 00:03:37,170
然後最後3這讓我們的綠色和嘉賓單挑有毒但遠不一樣糟糕，因為它可能是，如果我們有這個數組十千色或10000意見或閱讀文章。

37
00:03:37,320 --> 00:03:40,020
所以很明顯，不會真正為我們工作。

38
00:03:40,290 --> 00:03:42,960
更何況事實，這是不乾燥的代碼。

39
00:03:42,960 --> 00:03:44,810
我們正在重複自己所有的時間。

40
00:03:45,000 --> 00:03:51,030
因此，我們使用一個循環來幫助這個過程自動化，因為我們在這裡做的是同樣的操作。

41
00:03:51,030 --> 00:03:53,860
唯一改變的就是這裡的8號。

42
00:03:54,240 --> 00:03:55,990
而每一次我們只是增加一個。

43
00:03:56,190 --> 00:04:03,070
因此，我們從數組的開始，我們將一路到底，所以你可以做，與一個for循環，你可以在這裡看到。

44
00:04:03,390 --> 00:04:09,640
所以我們的FOR循環我們的眼球我們的變量是從零開始的，因為這始終是數組中的第一個索引。

45
00:04:09,750 --> 00:04:13,440
然後我們通過循環每次添加一個到它，我們繼續前進。

46
00:04:13,530 --> 00:04:14,350
哇。

47
00:04:14,440 --> 00:04:17,290
它是小於的顏色陣列的長度。

48
00:04:17,340 --> 00:04:20,510
所以請記住這個數組的長度為4。

49
00:04:20,520 --> 00:04:27,990
因此，雖然我有不到四個小時就應該永遠等於4，因為顏色的四種沒有定義。

50
00:04:28,140 --> 00:04:30,360
因此，對於循環這類是真的真的常見。

51
00:04:30,510 --> 00:04:39,050
因此，讓我們的眼睛等於零的眼睛不到顏色包抄，你不必那樣做，我只需鍵入它在這裡。

52
00:04:39,060 --> 00:04:43,740
你也可以做的比長或等於兩種顏色更少。

53
00:04:43,770 --> 00:04:50,050
阿曼達Swon這是一個有點長所以大多數人不會寫這種方式，但它是一回事。

54
00:04:50,280 --> 00:04:57,200
所以收出像我加上加號和開拓我們的括號內。

55
00:04:57,720 --> 00:05:05,110
而我們會做的，而不是有關記錄的律師在這裡，讓我們做的警報警報顏色。

56
00:05:05,120 --> 00:05:07,910
我只是喜歡這樣。

57
00:05:08,060 --> 00:05:16,290
所以實際上這不應該是所有新眼見使用for循環一樣，這是新的，但沒有什麼新來的就作為概念看到我們。

58
00:05:16,290 --> 00:05:26,180
它只是採取了對你已經看到了一些從零開始循環，我們要起來，告訴其他一些號碼，然後所有我們正在做的是堵塞這個數字到一個數組。

59
00:05:26,190 --> 00:05:28,130
因此，讓我們試試這個。

60
00:05:28,650 --> 00:05:34,700
我希望你能看懂我結束了赤橙黃綠。

61
00:05:34,980 --> 00:05:40,440
讓我們做同樣的事情只是該局點Lague代替。

62
00:05:40,440 --> 00:05:41,360
還有我們走。

63
00:05:41,730 --> 00:05:47,230
所以，再一次我們實際上會做這樣的事情對我們的電話我做評論。

64
00:05:47,250 --> 00:06:04,280
然後我問少和評論的長度，而不是取消了登錄的東西，我們可能有一個函數調用make註釋一柄他，或類似的東西，這將是負責制定所有的iChat他Alpher一條評論，現在我們正在做的它的評論陣列中的每個項目。

65
00:06:04,460 --> 00:06:04,820
好。

66
00:06:04,860 --> 00:06:06,490
所以，這就是我們可以使用一個for循環。

67
00:06:06,500 --> 00:06:11,330
我們還可以倒著走，所以我們開始在數組的結尾，我們繼續下去，直到我們到了零。

68
00:06:11,400 --> 00:06:18,100
但是，這是一個有點不太常見，但有通過所謂的一個foreach數組迭代的整體別的辦法。

69
00:06:18,270 --> 00:06:25,230
而在我看來的foreach是好得多使用它更簡單它的短，這是比較常見的現在。

70
00:06:25,230 --> 00:06:27,990
現在，每一個都有一個一直JavaScript的一個組成部分。

71
00:06:28,170 --> 00:06:33,440
因此，相比使用一個for循環或純老for循環遍歷數組是比較新的。

72
00:06:33,480 --> 00:06:37,210
它在我認為2009年左右就出來了。

73
00:06:37,440 --> 00:06:47,190
所以會有教程和有一些不引用，但對於它的價值，我認為，它是通過數組循環的最好辦法較舊的書籍。

74
00:06:47,220 --> 00:06:52,020
有一個障礙在一開始拿到過，你會看到這裡的一點點。

75
00:06:52,200 --> 00:06:57,090
這是新的東西這是一個有點嚇人，我們實際上是在傳遞一個函數到另一個函數。

76
00:06:57,090 --> 00:06:58,940
所以我會解釋說，在短短的時刻。

77
00:06:58,950 --> 00:07:13,260
但是，一旦你過去，一旦你那種學習語法和習慣它，你知道，當你需要在括號括號，有有樣的行李一點點，你必須在開始，但一旦獲得通過你適應了它，它比使用一個循環就輕鬆多了。

78
00:07:13,320 --> 00:07:25,310
它的速度更快，你會看到所有的地方，我會盡我所能為循環使用的foreach只是一種打你從兩個方向使你習慣了兩個人的嘗試和均衡使用。

79
00:07:25,360 --> 00:07:27,880
但是我要告訴你，現在我偏愛每4個。

80
00:07:27,890 --> 00:07:29,070
因此，這裡的它是什麼。

81
00:07:29,160 --> 00:07:33,600
這是一個呼籲每個的每一個陣列中定義的方法。

82
00:07:33,620 --> 00:07:40,620
這是中的一員稱為數組原型，是所有像push和pop倒騰這些方法和船上卸下這是他們都住在這裡。

83
00:07:40,740 --> 00:07:44,920
那麼，它的作用是它需要一個函數作為參數，你可以在這裡看到。

84
00:07:44,940 --> 00:07:52,270
所以我們我們寫陣列無論數組的名稱是有色人種評論點每情況下，每駱駝成本。

85
00:07:52,500 --> 00:07:55,080
然後我們通過一個函數。

86
00:07:55,320 --> 00:07:56,580
所以它實際上沒有這個樣子。

87
00:07:56,580 --> 00:08:01,620
通常情況下你會看到大多數往往是一個匿名函數像我們這裡。

88
00:08:02,340 --> 00:08:10,720
所以，你在這是一個函數，然後調用該函數為數組中的每一個元素這整個事情經過。

89
00:08:11,190 --> 00:08:13,150
因此，讓我在這裡告訴你一個例子。

90
00:08:13,250 --> 00:08:14,870
我們就利用這個代碼。

91
00:08:14,970 --> 00:08:19,340
在複製此數組，然後先清屏。

92
00:08:20,160 --> 00:08:25,200
因此，我們有顏色數組，然後我們寫的每一個顏色。

93
00:08:25,200 --> 00:08:33,580
每當我通過，我們將調用每個元素，然後我們通常會在這裡有納米misfunction，我不打算給它的任何參數。

94
00:08:33,580 --> 00:08:36,180
我會解釋這樣的說法是在短短的時刻是什麼。

95
00:08:36,170 --> 00:08:37,300
所以，配色為每個。

96
00:08:37,320 --> 00:08:39,570
然後把剛才的空函數。

97
00:08:39,600 --> 00:08:48,530
而對於現在我們每個就這樣做裡面的洪澇災害不斷。

98
00:08:48,570 --> 00:08:56,660
花點時間想想你期望發生我說的，它會導致功能數組中的每一個項目，我會打輸入的內容。

99
00:08:57,360 --> 00:09:05,970
而我總是忘了這個它沒有很好的視頻在這裡，但Chrome將所有這些議會日誌壓縮成一行。

100
00:09:06,090 --> 00:09:07,790
但這裡有紅色的數字。

101
00:09:07,950 --> 00:09:11,840
因此它被重複它四次一個用於所述陣列中的每個項目。

102
00:09:12,240 --> 00:09:22,160
因此，一個更簡單的方法，看實際上是一個警告，他們得到一個字母，以提醒三，四警報。

103
00:09:22,160 --> 00:09:24,440
因此它做它的陣列中的每個項目。

104
00:09:24,920 --> 00:09:33,820
但是，這並不是所有的有用的只是運行的時間或長度減去數組次頭號一些代碼x個。

105
00:09:33,870 --> 00:09:36,830
我們通常希望該陣列中以某種方式使用這些數據。

106
00:09:36,840 --> 00:09:52,530
無論是每次現在正在評論無論是保存一些東西到數據庫，無論是添加一些以分數為每個項目，但我們通常要進行交互或操縱在某些方面的數據，而不只是隨意警告或涉及到的記錄。

107
00:09:52,710 --> 00:10:01,220
所以，我們得到的數據的方法是通過我們的功能無論這個功能是它是否是一個匿名函數命名函數的函數表達式。

108
00:10:01,290 --> 00:10:01,850
不要緊

109
00:10:01,860 --> 00:10:11,600
但是，無論是功能是我們擁有它，除非一個參數，所以讓我重寫這一這裡它可以被稱為我們想要的東西，就像我們定義任何其他職能。

110
00:10:11,620 --> 00:10:22,130
所以像我喜歡狗，你將永遠不會希望在你的代碼中使用，除非它真的在某些情況下是有意義的，我會開始一個可怕的名字。

111
00:10:22,480 --> 00:10:27,060
我不能，雖然想很多和我要做的就是拿犬和打印任。

112
00:10:27,100 --> 00:10:30,850
我喜歡狗每次都這麼不記錄裡面的每一個。

113
00:10:31,000 --> 00:10:44,490
另外，我喜歡狗，我會按下回車鍵，你會看到我們得到讀取飼草橙色裡面飼草黃色，最後裡面的每一個綠色的內裡飼草。

114
00:10:44,830 --> 00:10:55,230
那麼，有什麼情況是，我喜歡狗是抱著每個項目的值，數組中，我們遍歷或在foreach循環遍歷。

115
00:10:55,380 --> 00:11:00,080
因此，它的調用這個函數這整個功能在這裡的每個項目。

116
00:11:00,360 --> 00:11:08,050
而且，不僅只是調用它，但它傳遞紅色，然後是橙色，然後黃則和綠成這個功能。

117
00:11:08,070 --> 00:11:10,010
因此，讓我告訴你一個替代語法。

118
00:11:10,120 --> 00:11:14,690
那麼它不是一個真正的替代語法，但是定義一個函數，並通過它的另一種方式。

119
00:11:14,790 --> 00:11:16,650
因此，這就像任何其他的功能。

120
00:11:16,750 --> 00:11:40,500
並打算把它打印色彩和所有會做的是採取所謂的顏色參數，然後，而不是在這裡，我會做一個恆定的日誌，讓我們只是明星有行開始，我會複製線然後在下面將不記錄顏色。

121
00:11:41,790 --> 00:11:44,240
然後再一塊輪廓。

122
00:11:44,710 --> 00:11:45,120
好。

123
00:11:45,220 --> 00:11:47,190
因此，我們找到一個簡單的功能。

124
00:11:47,190 --> 00:11:54,080
但願這是檢討在這一點上採取所謂的顏色參數，然後我打回車沒有任何反應，因為我只定義的功能。

125
00:11:54,150 --> 00:11:58,590
但現在，如果我把它打印色彩，讓我們做紫色。

126
00:11:58,680 --> 00:12:03,830
顯然，最好的顏色我得到星紫明星。

127
00:12:04,620 --> 00:12:10,800
而且，正如檢討，我得到了一個未定義，因為我的功能實際上並不返回任何東西，但它打印三行。

128
00:12:10,980 --> 00:12:25,410
行，所以我可以使用每個運行在陣列中的每一項本刊色彩和所有我需要做的就是顏色這是我為每個陣列，然後，而不是在這裡輸入了整體功能。

129
00:12:25,480 --> 00:12:35,060
我所要做的就是通過印刷顏色和這是我不把括號在這裡，如果我做把這些括號內有一個非常重要的注意事項。

130
00:12:35,190 --> 00:12:37,570
我會立即調用該函數。

131
00:12:37,570 --> 00:12:42,630
還記得每當JavaScript的看到一個功能，然後括號它執行它。

132
00:12:42,730 --> 00:12:55,220
所以也無所謂了，我向它傳遞到每個之前，我們希望它被稱為是我們真正想要做的僅僅是傳遞打印顏色沒有我們告訴每個括號它會被調用。

133
00:12:55,360 --> 00:12:55,920
開始了。

134
00:12:55,920 --> 00:12:56,640
這裡的功能。

135
00:12:56,660 --> 00:12:58,450
我希望你以後叫我。

136
00:12:58,570 --> 00:13:01,880
當你通過循環，我希望你把它在陣列中的每個項目。

137
00:13:02,040 --> 00:13:04,770
那麼接下來會發生什麼，如果我們快進。

138
00:13:04,840 --> 00:13:14,070
那麼，讓我按下回車鍵第一，你會看到我們得到的紫色，而它從這裡開始赤橙黃色和綠色。

139
00:13:14,470 --> 00:13:28,440
那麼是什麼幕後發生的事情是，每個正在打印的顏色和它的運行打印顏色紅色印花橙色除了它並沒有真正像她那樣。

140
00:13:28,440 --> 00:13:40,090
它看起來更像是這個打印彩色色皮其從0開始，然後漂亮的顏色的顏色之一。

141
00:13:40,260 --> 00:13:43,960
所以它採取我們的印刷顏色功能，它實際上是調用它為我們。

142
00:13:44,010 --> 00:13:47,970
所以，我們只要告訴它怎麼稱呼它，我們就叫它的項目。

143
00:13:48,100 --> 00:14:01,820
因此，對於每一個，因為我們沒有與我的工作，我們沒有寫出來供一個for循環的語法和我們沒有訪問顏色我的我們的代碼裡面或者說我們訪問的是它的非常好的一切我們在這裡調用它。

144
00:14:01,890 --> 00:14:13,130
所以顏色在這種情況下，但記得我發現，我喜歡狗這不是一個好名字真的，但它可以是任何東西，我們希望，希望它不僅僅意味著更多的顏色。

145
00:14:13,620 --> 00:14:26,220
因此，我們可以再一次使用，並為每個每個他們兩個是新的更受歡迎，我喜歡它，但我會盡我所能，給你一個平衡的觀點，或者至少迫使你看到兩個。

146
00:14:26,350 --> 00:14:34,380
然後這裡有一個循環通過兩種方式進行比較，有兩個以上的方法，我們可以使用，當然while循環，我會告訴你簡單介紹。

147
00:14:34,440 --> 00:14:36,970
我們可以做同樣的事情的顏色。

148
00:14:37,300 --> 00:14:40,420
所有我們需要做的就是定義一個變量。

149
00:14:40,410 --> 00:14:43,710
讓我們把它算它一開始是等於零。

150
00:14:44,230 --> 00:14:51,400
然後我們要做的，而計數小於調色出來長度就像我們每個。

151
00:14:51,390 --> 00:14:53,620
我的意思是就像一個for循環。

152
00:14:54,100 --> 00:15:05,440
然後，而不是我們這裡有遞增計數我們忘記之前，然後我們可以做一個恆定的ALT日誌顏色的計數。

153
00:15:05,860 --> 00:15:11,200
所以這是一個有點語法如同每一個while循環常被比作一個for循環。

154
00:15:11,350 --> 00:15:18,800
我們必須先定義一個變量，那麼我們就必須增加它的循環中，我們結束了赤橙黃綠。

155
00:15:19,200 --> 00:15:24,460
所以，你可以使用while循環，但它你會看到有人這樣做，它非常稀有的幾乎沒有。

156
00:15:24,450 --> 00:15:27,420
這幾乎總是一個for循環或每個。

157
00:15:27,420 --> 00:15:30,760
並日益它幾乎總是每個。

158
00:15:30,820 --> 00:15:46,150
還有，雖然其中對於每個不存在的，我會確保與一些瀏覽器的東西，指出一些HMLC SS和Javascript的東西時，我們結合在一起的一切都會有，我們正在與合作的事案件的瞬間看起來像數組，但他們實際上不是。

159
00:15:46,170 --> 00:15:47,890
而它的真正令人困惑。

160
00:15:47,880 --> 00:15:51,990
但我會確保你意識到這一點，我們不能用它為每個即可。

161
00:15:52,200 --> 00:15:56,400
所以這是一件好事，記得你是如何寫一個for循環以及如何做同樣的事情對每個。

162
00:15:56,560 --> 00:16:00,500
所以，這就是這個代碼顯示了你在這裡花一點時間來研究它，如果你願意的話。

163
00:16:00,510 --> 00:16:04,860
關鍵的區別是在for循環中，我們正在處理的一些事實。

164
00:16:04,920 --> 00:16:11,450
因此，我們從一些打算從零直到數組的結束，我們實際上正在使用該號碼訪問數組的顏色。

165
00:16:11,460 --> 00:16:15,610
我在這與我們抽象出來一個foreach。

166
00:16:15,630 --> 00:16:29,070
因此，所有我們正在處理的是，我們已經創建了一個臨時的佔位符顏色或物品或東西不管它是什麼意見張貼朋友的姓名和您使用的，而不是一個功能。

167
00:16:29,250 --> 00:16:42,350
而最常見的大多數時候，你會在這裡看到了一個匿名函數，除非有要重用以後的函數，你想叫它你的代碼的其他一些地方，那麼你可以定義它，你可以給它的foreach以外的名稱。

168
00:16:42,660 --> 00:16:43,200
好。

169
00:16:43,360 --> 00:16:44,240
因此，我們討論了許多。

170
00:16:44,250 --> 00:16:50,880
他們真的很重要的東西加上循環功能，以及陣列事已至此樣的撞在了一起。

171
00:16:51,120 --> 00:17:00,970
同樣我會盡我所能，以確保您看到整個課程編寫循環的兩種方式和接下來，我們有一個非常短的非常快速的鍛煉不應超過30秒。
