Menu
Coddy logo textTech

配列メソッドのチェーン

CoddyのJavaScriptジャーニー「論理とフロー」セクションの一部 — レッスン 55/65。

配列のメソッドチェーンを使用すると、1つのステートメントで配列に対して複数の操作を実行できます。このアプローチにより、コードをより簡潔で読みやすくすることができます。

配列メソッドをチェーン化する例を次に示します:

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

const result = numbers
  .filter(num => num % 2 === 0)
  .map(num => num * 2)
  .reduce((sum, num) => sum + num, 0);

console.log(result); // 60

この例では、数値の配列から始め、奇数を除外し、残った各数値を2倍にしてから、その結果を合計します。

チェイニングの順序は重要です。チェーン内の各メソッドは、前のメソッドの結果に対して動作します。

challenge icon

チャレンジ

簡単

フルーツのオブジェクトの配列を受け取る processFruits という関数を作成してください。各フルーツのオブジェクトは、name (文字列) と quantity (数値) というプロパティを持っています。

この関数は、メソッドチェーンを使用して以下の処理を行う必要があります:

  1. quantity が 0 のフルーツを除外する
  2. 各フルーツの名前を大文字に変換する
  3. すべてのフルーツとその数量を "APPLE: 5, BANANA: 3" のような形式でリストした文字列を作成する

ヒント:

.join(", ") 関数を使用すると、文字列の配列を1つの文字列に変換できます。

.join() 関数もメソッドチェーンに組み込むことが可能です:

arr.filter(...)
   .map(...)
   .join(...)

チートシート

配列メソッドのチェーン(連結)を使用すると、1つのステートメントで配列に対して複数の操作を実行できるため、コードがより簡潔で読みやすくなります。

チェーン内の各メソッドは、前のメソッドの結果に対して操作を実行します:

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

const result = numbers
  .filter(num => num % 2 === 0)
  .map(num => num * 2)
  .reduce((sum, num) => sum + num, 0);

console.log(result); // 60

.join() メソッドをチェーンして、配列を文字列に変換することもできます:

arr.filter(...)
   .map(...)
   .join(", ")

自分で試してみよう

function processFruits(fruits) {
  // ここにコードを記述してください
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

論理とフローのすべてのレッスン