JavaScriptで配列要素をそのインデックスでべき乗した値に変換する方法
問題
数値の配列を受け取るJavaScript関数を作成する必要があります。この関数は、入力配列の各要素を、その要素の位置を示す0始まりのインデックスでべき乗し、新しい配列へと変換します。そして最終的に、この新しい配列を返します。
例えば、インデックス0にある要素は0乗(常に1)、インデックス3にある要素は3乗、というように各要素が処理されます。
実装のポイント
- ループで配列を走査しながら、各要素とそのインデックスを同時に取得する
Math.pow()を使って「要素 ^ インデックス」を計算する- 計算結果を結果配列の同じ位置に格納する
なお、モダンなJavaScriptでは Math.pow(el, i) の代わりに指数演算子 el ** i を使うことも可能です。
コード例
以下が実際のコードです −
const arr = [5, 2, 3, 7, 6, 2];
const findNthPower = (arr = []) => {
const res = [];
for(let i = 0; i < arr.length; i++){
const el = arr[i];
const curr = Math.pow(el, i);
res[i] = curr;
};
return res;
};
console.log(findNthPower(arr));
出力
[ 1, 2, 9, 343, 1296, 32 ]
出力の解説
結果の内訳は以下の通りです。
5はインデックス0 →5^0 = 12はインデックス1 →2^1 = 23はインデックス2 →3^2 = 97はインデックス3 →7^3 = 3436はインデックス4 →6^4 = 12962はインデックス5 →2^5 = 32
このように、各要素が自身のインデックスを指数としてべき乗された新しい配列が正しく生成されていることが確認できます。
-
C#で配列の最初の要素のインデックスを取得する方法
C#で配列の最初の要素のインデックスを取得するには、Array.GetLowerBound(0)メソッドを使用します。このメソッドは、指定した次元における配列の下限(最小インデックス)を返します。 通常のC#配列はインデックス0から始まるため、GetLowerBound(0)は常に「0」を返します。引数の「0」は、対象となる次元(0番目=最初の次元)を指定するものです。 例1:文字列配列の場合 以下のコードでは、文字列配列に対して各種プロパティの状態を確認しつつ、最初の要素のインデックスを取得しています。 using System; public class Demo { public
-
C#で配列の最後の要素のインデックスを取得する方法
C#で配列の最後の要素のインデックスを取得するには、GetUpperBound()メソッドを使用します。このメソッドは、配列の指定した次元における上限(最後の要素のインデックス)を返します。同様に、最初の要素のインデックスを取得したい場合はGetLowerBound()メソッドを使います。基本的な使い方以下の例では、文字列型の配列に対して各種プロパティの確認と、最初・最後の要素のインデックスを取得しています。サンプルコードusing System; public class Demo { public static void Main(){