ホームページ  >  記事  >  ウェブフロントエンド  >  配列の行の合計を求めるJavaScript

配列の行の合計を求めるJavaScript

WBOY
WBOYオリジナル
2023-05-29 13:23:37728ブラウズ

JavaScript は、Web 開発で広く使用されているプログラミング言語であり、豊富な組み込み関数とサードパーティ ライブラリを備えており、さまざまなデータ構造の処理に最適です。この記事では、JavaScript を使用して配列の行を合計する方法を検討します。

配列は JavaScript における非常に重要なデータ構造であり、複数の値を格納し、インデックスを通じてこれらの値にアクセスできます。配列を操作する場合、各行の値の合計を計算する必要がある場合があります。この記事では、JavaScriptを使用してこの機能を実現する方法を紹介します。

まず、2 次元配列を作成する必要があります。たとえば、次のコードは 3x3 の 2 次元配列を作成します。

let arr = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

次に、各行の合計を計算する必要があります。ループを使用して配列内の各行を反復処理し、反復ごとにその行の合計を計算できます。以下は、for ループを使用して配列の行の合計を計算する例です。

for (let i = 0; i < arr.length; i++) {
  let sum = 0;
  for (let j = 0; j < arr[i].length; j++) {
    sum += arr[i][j];
  }
  console.log(`Row ${i+1} Sum: ${sum}`);
}

上記のコードでは、外側の for ループは配列の各行を走査し、内側の for ループは配列の各行を走査します。現在の行の各行に値を入力し、それらを sum 変数に追加します。次に、現在の行の合計を出力します。

このコードの出力は次のようになります:

Row 1 Sum: 6
Row 2 Sum: 15
Row 3 Sum: 24

各行の合計を新しい配列に保存して、より便利に使用できるようにすることもできます。サンプル コードは次のとおりです。

let rowSums = [];
for (let i = 0; i < arr.length; i++) {
  let sum = 0;
  for (let j = 0; j < arr[i].length; j++) {
    sum += arr[i][j];
  }
  rowSums.push(sum);
}
console.log(rowSums);

上記のコードでは、rowSums という空の配列を作成し、行の合計を計算するたびに結果をこの配列に入れます。次に、rowSums 配列の内容を出力します。

このコードの出力は次のようになります:

[6, 15, 24]

JavaScript の Reduce 関数を使用して、各行の合計を計算することもできます。 reduce 関数は、配列内のすべての項目を 1 つの値に結合するために使用され、コールバック関数とオプションの初期値の 2 つのパラメーターを受け入れます。以下は、reduce 関数を使用して行の合計を計算するサンプル コードです。

let rowSums = arr.map(row => row.reduce((acc, val) => acc + val));
console.log(rowSums);

上記のコードでは、map 関数を使用して配列の各行を反復処理し、reduce 関数を使用してすべての行を累積します。行の値。これにより、各行の合計を含む新しい配列が生成されます。最後に、rowSums 配列の内容を出力します。

このコードの出力は前の例と同じです。

[6, 15, 24]

JavaScript では、2 次元配列の行の合計を計算する方法が複数あります。特定のアプリケーション シナリオとプログラミング設定に応じて、for ループまたは Reduce 関数の使用はどちらも良い選択です。どの方法を選択しても、2 次元配列を反復処理して各行の合計を計算することは非常にシンプルで直感的です。

以上が配列の行の合計を求めるJavaScriptの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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