ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の `forEach()` メソッドと `map()` メソッドの主な違いは何ですか?

JavaScript の `forEach()` メソッドと `map()` メソッドの主な違いは何ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-20 05:38:13429ブラウズ

What's the Key Difference Between JavaScript's `forEach()` and `map()` Methods?

JavaScript の .forEach() と .map() の違いを理解する

.forEach() が動作する主な違いを超えて.map() が新しい配列を作成する間、元の配列を作成するには、考慮すべきニュアンスがあります。これは、提供されたコードに例示されています:

function practice(i) {
  return i + 1;
}

var a = [-1, 0, 1, 2, 3, 4, 5];
var b = [0];
var c = [0];
console.log(a);
b = a.forEach(practice);
console.log("=====");
console.log(a);
console.log(b);
c = a.map(practice);
console.log("=====");
console.log(a);
console.log(c);

出力:

[-1, 0, 1, 2, 3, 4, 5]
=====
[-1, 0, 1, 2, 3, 4, 5]
undefined
=====
[-1, 0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6]

説明:

  • forEach(): このメソッドは反復されます配列内の各要素を調べますが、値は返されません。この例では、a.forEach(practice) は 'a' の各要素に対して practice 関数を実行しますが、結果 (未定義) は 'b' に割り当てられません。したがって、「b」は変更されません。
  • map(): このメソッドは、元の配列の各要素を変換して新しい配列を作成します。この例では、a.map(practice) は、練習関数を 'a' の各要素に適用し、変換された値を含む新しい配列 'c' を返します。

主な違い:

  • 戻り値: forEach() は何も返しません。一方、map() は新しい配列を作成します。
  • 操作: forEach() は反復して副作用を実行しますが、map() は反復して変換します。
  • Side効果: forEach() はコールバック関数を通じて元の配列を変更できますが、map() は単に

JavaScript での配列操作に適切な方法を選択する場合、これらの違いを理解することが重要です。

以上がJavaScript の `forEach()` メソッドと `map()` メソッドの主な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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