JavaScriptで配列のn番目ごとの要素の合計を求める方法
本記事では、数値の配列を受け取り、インデックスが n の倍数にあたる要素のみを抽出して、それらの累積合計を返す JavaScript 関数の作成方法を解説します。
実装例
実際のコードは以下のとおりです。
const arr = [5, 3, 5, 6, 12, 5, 65, 3, 2];
const num = 3;
const nthSum = (arr, num) => {
let sum = 0;
for(let i = 0; i < arr.length; i++){
if(i % num !== 0){
continue;
};
sum += arr[i];
};
return sum;
};
console.log(nthSum(arr, num));コードの解説
この関数は、まず合計値を保持するための変数 sum を 0 で初期化します。続いて for ループで配列の各インデックスを順に走査し、剰余演算子(%)を使って「i % num === 0」、つまり現在のインデックスが n の倍数であるかどうかを判定します。
条件に当てはまらない場合は continue 文によって以降の処理をスキップし、当てはまる場合のみその位置の要素を合計に加算していきます。最終的にループが完了した時点での sum を戻り値として返すシンプルな構造です。
出力結果
コンソールには次のように出力されます。
76
この例では num = 3 であるため、インデックス 0、3、6 に対応する要素(5 + 6 + 65)が合計され、結果として 76 が出力されます。
-
【JavaScript入門】配列内で最初の非連続な数値を見つける方法
はじめに本記事では、JavaScriptを使って「数値の配列の中から、直前の要素と連続していない最初の数値」を見つける方法を解説します。アルゴリズムの練習やコーディング面接の対策としても役立つ基本的な問題です。 問題の定義数値の配列を受け取るJavaScript関数を作成する必要があります。この関数は、直前の要素に対して +1 となっていない(連続していない)最初の要素を返さなければなりません。 言い換えると、隣り合う要素同士の差が1以外になる箇所が現れたとき、その箇所の後ろ側の要素を返すという処理です。なお、そのような要素が必ず配列内に1つ以上存在するものとします。 サンプルコード以下は、実
-
JavaScriptで配列要素をそのインデックスでべき乗した値に変換する方法
問題 数値の配列を受け取るJavaScript関数を作成する必要があります。この関数は、入力配列の各要素を、その要素の位置を示す0始まりのインデックスでべき乗し、新しい配列へと変換します。そして最終的に、この新しい配列を返します。 例えば、インデックス0にある要素は0乗(常に1)、インデックス3にある要素は3乗、というように各要素が処理されます。 実装のポイント ループで配列を走査しながら、各要素とそのインデックスを同時に取得する Math.pow() を使って「要素 ^ インデックス」を計算する 計算結果を結果配列の同じ位置に格納する なお、モダンなJavaScriptでは Math