|
|
|
|
|
|
JavaScript中for和forEach都有循環遍歷數組的功能,但是forEach又與for有著不一樣的功能表現,其中一個比較明顯的不同之處是forEach有回調函數的功能。今天,我將介紹一下forEach和for不同的功能表現。
什么是 forEach?
ForEach 是一種對數組中的每個元素執行一次函數的方法。讓我們用它來對一組數字求和。

for遍歷數組,通過索引值查找元素
在下一個示例中,我們要構建一個名為“dog”的列表,我們使用for循環將每個名稱添加到數組中,這需要通過索引“ i ”查找元素。

forEach遍歷數組,傳遞回調函數
forEach讓我們可以編寫沒有索引變量“ i ”的相同代碼。我們將一個函數傳遞給forEach,它在每個元素上運行該函數。

在此示例中,for和forEach具有相同的結果,但功能不同,因為forEach為數組的每個元素傳遞了一個回調函數。
forEach修改數組元素
此外,我們可以在forEach期間修改數組的元素:

回調函數可以引用甚至修改外部作用域中定義的變量。
回調函數修改結果變量
在下一個示例中,回調函數修改結果變量。

forEach回調的第二個參數是項目的索引。

上面的例子在我們調用forEach的地方定義了內聯回調函數。函數是 JavaScript 中的值,因此我們也可以通過其他方式傳遞它們。例如,我們可以將函數放在一個變量中,然后將該變量傳遞給forEach。以下示例以不同的方式定義了我們的forEach回調函數,但它們都具有相同的效果。


為什么使用 forEach?
forEach循環用于遍歷集合的元素,集合可以是數組或列表。它針對數組中存在的每個元素執行。在循環體中,你可以使用你創建的循環變量,而不是使用索引數組元素。
總結
本文介紹了forEach與for不同的功能表現,在編程過程中,可能由于編程習慣而用for多一點,但是當你不斷開始使用forEach時,你會體會到使用它的樂趣。
相關文章
