首頁 > web前端 > js教程 > 列表中與 map、forEach 和其他方法的交互

列表中與 map、forEach 和其他方法的交互

Linda Hamilton
發布: 2024-10-02 08:16:29
原創
993 人瀏覽過

Interação em Listas com map, forEach e Outros Métodos

當我們使用現代程式語言處理清單時,通常會找到幾種方法來迭代其元素並對它們執行操作。最受歡迎的結構包括 map、forEach、filter 和其他方法。這些方法對於任何想要編寫更簡潔、高效和可讀的程式碼的人來說都是必不可少的。讓我們來探討一下這些方法、它們的差異、優點以及如何正確使用它們。

1.forEach方法

它是什麼?

forEach 是一個用於迭代列表並為列表中的每個元素執行回調函數的方法。與我們稍後將看到的某些方法不同,它不會傳回新數組,而只是對清單中的每個項目執行操作。

使用範例:

在 JavaScript 中,我們可以使用 forEach,如下所示:

const numeros = [1, 2, 3, 4, 5];

numeros.forEach(numero => {
    console.log(numero * 2);
});
登入後複製

在此範例中,forEach 方法會循環遍歷數字清單中的每個數字,並列印每個值的兩倍數字。在這裡,結果將是:

2
4
6
8
10
登入後複製

優點:

  • 簡單直接地將操作應用於每個項目。
  • 不改變原來的清單。

限制:

  • 不允許傳回值(與地圖不同)。
  • 不能與需要傳回新清單的其他方法連結。

2. 地圖方法

它是什麼?

Map 是清單中最常用的方法之一。它根據將函數應用於原始列表中的每個元素的結果創建一個新數組。與 forEach 相比的主要區別在於,map 傳回一個新數組,而不是簡單地迭代。

使用範例:

繼續前面的範例:

const numeros = [1, 2, 3, 4, 5];
const dobrados = numeros.map(numero => numero * 2);

console.log(dobrados);
登入後複製

這裡,map 方法傳回一個包含雙倍數字的新清單:

[2, 4, 6, 8, 10]
登入後複製

優點:

  • 傳回包含轉換後的值的新陣列。
  • 非常適合轉換數據,無需修改原始清單。

限制:

  • 當你只需要迭代而不修改值時並不理想(在這種情況下,forEach 會更合適)。

3. 過濾法

它是什麼?

過濾器建立一個新數組,僅包含透過回呼函數指定的測試的元素。當我們想要根據條件刪除或選擇項目時,此方法非常有用。

使用範例:

const numeros = [1, 2, 3, 4, 5];
const pares = numeros.filter(numero => numero % 2 === 0);

console.log(pares);
登入後複製

這裡,過濾器將只傳回偶數:

[2, 4]
登入後複製

優點:

  • 對於根據條件建立清單很有用。
  • 不修改原來的清單。

限制:

  • 不能用於轉換數據,只能用於過濾。

4.歸約方法

它是什麼?

reduce 是一種更高級的方法,它根據清單中的項目累積值。它可用於添加值、連接字串,甚至從清單建立複雜的物件。

使用範例:

const numeros = [1, 2, 3, 4, 5];
const soma = numeros.reduce((acumulador, numero) => acumulador + numero, 0);

console.log(soma);
登入後複製

在此範例中,reduce 累加清單中所有數字的總和:

15
登入後複製

優點:

  • 非常強大且靈活,可以創造複雜的結果。
  • 可用來將清單轉換為累積值。

限制:

  • 對於初學者來說文法可能有點複雜。
  • 簡單的迭代操作較不簡單。

5.查找方法

它是什麼?

find 用來找出清單中滿足條件的第一個元素。它會傳回與測試函數相符的第一個項目,並在找到該元素時停止迭代。

使用範例:

const numeros = [1, 2, 3, 4, 5];
const primeiroPar = numeros.find(numero => numero % 2 === 0);

console.log(primeiroPar);
登入後複製

這裡,find 回傳第一個偶數:

2
登入後複製

優點:

  • 非常適合快速尋找符合條件的單一項目。
  • 找到第一個符合項目時停止迭代。

限制:

  • 只回傳找到的第一個項目;如果您需要所有項目,過濾會更合適。

6. some and every 方法

這些是什麼?

some 方法檢查清單中至少一個 項是否與條件相符。每個都會檢查清單中的所有 項是否通過測試。

Exemplo de Uso de some:

const numeros = [1, 2, 3, 4, 5];
const temNumeroMaiorQue3 = numeros.some(numero => numero > 3);

console.log(temNumeroMaiorQue3);
登入後複製

Este código retornará:

true
登入後複製
登入後複製

Já o every funciona da seguinte forma:

const todosPositivos = numeros.every(numero => numero > 0);
console.log(todosPositivos);
登入後複製

Este código retornará:

true
登入後複製
登入後複製

Vantagens:

  • Útil para checar condições sobre a lista inteira sem precisar iterar manualmente.

Limitações:

  • Não retorna um novo array, apenas valores booleanos.

Conclusão

Os métodos de iteração em listas, como map, forEach, filter, reduce, find, some e every, são ferramentas poderosas para processar dados de forma eficiente e legível. Saber quando usar cada um deles pode melhorar significativamente a qualidade e a eficiência do código, tornando-o mais expressivo e mantendo o foco nas operações necessárias.

  • Use forEach quando você precisa apenas iterar sobre os elementos e não precisa retornar nada.
  • Use map quando deseja transformar os elementos de uma lista e obter um novo array.
  • Use filter para criar uma lista baseada em uma condição.
  • Use reduce para transformar a lista em um único valor acumulado.
  • Use find para localizar o primeiro item que satisfaça uma condição.
  • Use some e every para verificar condições booleanas em listas.

Com essa base, você poderá criar código mais limpo e eficiente, aproveitando ao máximo o poder dessas funções.

以上是列表中與 map、forEach 和其他方法的交互的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板