JavaScriptで指定した数の倍数の配列を生成する方法
倍数の配列を生成するJavaScript関数の作成
今回は、2つの数値 m と n を引数として受け取り、m の倍数のうち最初の n 個を配列として返すJavaScript関数を作成する必要があります。
たとえば、引数として 4 と 6 が渡された場合、出力は次のようになります。
const output = [4, 8, 12, 16, 20, 24]
つまり、4の倍数を小さい順に6個並べた配列を返すことになります。
実装の考え方
この問題はシンプルなループ処理で解決できます。開始値を m とし、ループごとに m ずつ値を増やしながら、m × n に達するまで配列に値を追加していきます。
サンプルコード
以下がその実装例です。
const num1 = 4;
const num2 = 6;
const multiples = (num1, num2) => {
const res = [];
for(let i = num1; i <= num1 * num2; i += num1){
res.push(i);
};
return res;
};
console.log(multiples(num1, num2));コードの解説
このコードでは、アロー関数 multiples を定義しています。内部の処理は以下の通りです。
まず、結果を格納するための空の配列 res を用意します。次に、forループを使い、変数 i を num1(=4)から開始し、num1 × num2(=24)以下である間、i を num1 ずつ加算しながら繰り返します。各ループで i の値を res に追加していくことで、4の倍数が順番に配列へ格納されていきます。
出力結果
コンソールには以下のように出力されます。
[ 4, 8, 12, 16, 20, 24 ]
別の実装方法:Array.from を使う
より現代的な書き方として、Array.from() を使えば、ループを明示的に書かずに簡潔に実装することもできます。
const multiples = (m, n) =>
Array.from({ length: n }, (_, i) => m * (i + 1));
console.log(multiples(4, 6)); // [ 4, 8, 12, 16, 20, 24 ]この方法では、長さ n の配列を生成し、各インデックスに m × (インデックス + 1) をマッピングするだけで、同じ結果が得られます。コードの可読性が高いため、実務でもおすすめの書き方です。
まとめ
数の倍数の配列を生成するには、forループで m ずつ加算しながら値を収集する方法が基本です。また、Array.from を活用すれば、より簡潔で関数型的な実装が可能になります。用途に応じて使い分けるとよいでしょう。
-
【初心者向け】JavaScriptのreverse()メソッドで配列を逆順にする方法
JavaScriptのreverse()メソッドは、配列の要素を元の順序と逆順に入れ替えるための便利な関数です。このメソッドを呼び出すと、配列の最初の要素が最後に、最後の要素が最初に移動し、配列全体が反転されます。reverse()メソッドの基本reverse()は配列そのものを変更する「破壊的メソッド」である点に注意してください。つまり、元の配列の順序が直接書き換えられます。元の配列を保持したい場合は、あらかじめslice()やスプレッド構文([...arr])などでコピーを作成してからreverse()を使用するのがおすすめです。サンプルコード以下は、ボタンをクリックすると配列の要素が逆順
-
JavaScriptにおける配列の分割代入(Destructuring)の基本と使い方
分割代入(Destructuring)とは、配列から値を取り出して個別の変数に展開するための構文です。ES2015(ES6)で導入されたこの機能を使うと、配列の各要素を簡潔かつ読みやすく変数に割り当てることができます。 配列の分割代入のサンプルコード 以下は、JavaScriptで配列の分割代入を行うコード例です。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta name="viewport&quo