ホームページ >ウェブフロントエンド >jsチュートリアル >リスト内でのマップ、forEach およびその他のメソッドとの相互作用

リスト内でのマップ、forEach およびその他のメソッドとの相互作用

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-02 08:16:29986ブラウズ

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 倍の数値を出力します。ここで、結果は次のようになります:

2
4
6
8
10

利点:

  • 各項目にアクションを簡単かつ直接的に適用できます。
  • 元のリストは変更されません。

制限事項:

  • (マップとは異なり) 値を返すことはできません。
  • 新しいリストを返す必要がある他のメソッドとは連鎖できません。

2. マップメソッド

それは何ですか?

マップはリストで最もよく使用されるメソッドの 1 つです。元のリストの各要素に関数を適用した結果から新しい配列を作成します。 forEach との主な違いは、map が単に反復するのではなく、新しい配列を返すことです。

使用例:

前の例の続き:

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

console.log(dobrados);

ここで、map メソッドは 2 倍の数値を含む新しいリストを返します。

[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メソッド

それは何ですか?

reduce は、リスト内の項目に基づいて値を蓄積する、より高度なメソッドです。これを使用して、値を追加したり、文字列を連結したり、リストから複雑なオブジェクトを構築したりすることもできます。

使用例:

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

console.log(soma);

この例では、reduce はリスト内のすべての数値の合計を累積します。

15

利点:

  • 複雑な結果を作成するために非常に強力かつ柔軟です。
  • リストを累積値に変換するために使用できます。

制限事項:

  • 初心者にとって構文は少し複雑になる可能性があります。
  • 単純な反復操作の場合はそれほど簡単ではありません。

5. find メソッド

それは何ですか?

find は、リスト内の条件を満たす最初の要素を検索するために使用されます。テスト関数に一致する最初の項目を返し、要素が見つかると反復を停止します。

使用例:

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

console.log(primeiroPar);

ここで、find は最初の偶数を返します:

2

利点:

  • 条件に一致する 1 つのアイテムをすばやく見つけるのに最適です。
  • 最初に一致する項目が見つかったときに反復を停止します。

制限事項:

  • 最初に見つかった項目を返すだけです。すべての項目が必要な場合は、フィルターの方が適切です。

6. あらゆるメソッド

彼らは何ですか?

some メソッドは、リスト内の 少なくとも 1 つの項目が条件に一致するかどうかをチェックします。 Every は、リスト内のすべて項目がテストに合格するかどうかをチェックします。

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.

以上がリスト内でのマップ、forEach およびその他のメソッドとの相互作用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。