JavaScriptで整数から降順の自然数配列を生成して返す方法
問題
JavaScriptで、数値を引数として受け取り、n から 1 までのすべての自然数を含む配列を返す関数を作成する必要があります。
入力
const num = 6;
出力
const output = [ 6, 5, 4, 3, 2, 1 ];
実装のポイント
この問題を解くには、以下の手順で処理を行います。
- Math.round() で数値を四捨五入し、整数に丸めます。
- Math.abs() で絶対値に変換し、負の数が渡されても正しく動作するようにします。
- for ループを使い、n から 1 まで逆順に値を配列へ追加していきます。
コード例
以下が実際のコードです。
const num = 6;
const reverseArray = (num = 1) => {
num = Math.round(num);
num = Math.abs(num);
const res = [];
for(let i = num; i > 0; i--){
res.push(i);
};
return res;
};
console.log(reverseArray(num));出力結果
[ 6, 5, 4, 3, 2, 1 ]
別の実装方法
ループを使わず、Array.from() を利用してより簡潔に書くこともできます。
const reverseArray = (num = 1) => {
num = Math.abs(Math.round(num));
return Array.from({ length: num }, (_, i) => num - i);
};
console.log(reverseArray(6)); // [ 6, 5, 4, 3, 2, 1 ]この方法では、指定した長さの配列を生成しながら、インデックスを利用して n から 1 までの値を直接マッピングしています。コードが短くなり、意図も明確になります。
-
【初心者向け】JavaScriptのreverse()メソッドで配列を逆順にする方法
JavaScriptのreverse()メソッドは、配列の要素を元の順序と逆順に入れ替えるための便利な関数です。このメソッドを呼び出すと、配列の最初の要素が最後に、最後の要素が最初に移動し、配列全体が反転されます。reverse()メソッドの基本reverse()は配列そのものを変更する「破壊的メソッド」である点に注意してください。つまり、元の配列の順序が直接書き換えられます。元の配列を保持したい場合は、あらかじめslice()やスプレッド構文([...arr])などでコピーを作成してからreverse()を使用するのがおすすめです。サンプルコード以下は、ボタンをクリックすると配列の要素が逆順
-
JavaScriptのオブジェクト配列に配列メソッドを適用する方法
JavaScriptでは、オブジェクトが格納された配列に対しても、通常の配列と同じようにpop()、push()、splice()などの標準的な配列メソッドをそのまま使用できます。オブジェクト配列はあくまで「配列」であるため、要素としてオブジェクトが入っていても配列操作のAPIは共通で動作します。 コード例 以下は、JavaScriptオブジェクトの配列に対して配列メソッドを使用するサンプルコードです。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8