JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptでネストされた配列の各要素の平均値を求める方法

    この記事では、数値の配列(ネストされた配列)を受け取り、それぞれのサブ配列の平均値を計算して、新しい配列として返すJavaScript関数の書き方を解説します。やりたいこと例えば、次のような「配列の中に配列が入った」データがあるとします。const arr = [ [1], [2,3], [4,5,6,7] ];この場合、求めたい結果は以下のような新しい配列です。 [1] の平均 → 1 [2, 3] の平均 → (2 + 3) / 2 = 2.5 [4, 5, 6, 7] の平均 → (4 + 5 + 6 + 7) / 4 = 5.5 つまり、出力は [1, 2.5, 5.5

  2. 【JavaScript】数値を文字列変換せずに個々の桁へ分割する方法

    本記事では、数値を唯一の引数として受け取り、その各桁に分割した結果を配列として返すJavaScript関数の実装方法を解説します。やりたいことたとえば、次のような数値が入力された場合を考えてみましょう。const num = 55678;このとき、期待される出力は以下の通りです。const output = [5, 5, 6, 7, 8];ここで重要な条件がひとつあります。Number型をString型に変換してはならず、ES6の便利な関数も使用できないという制約です。つまり、toString() や split()、スプレッド構文などを使った簡単な手法は使えません。解決アプローチ:剰余演算と

  3. JavaScriptで数値を最も近い10の累乗に丸める関数の実装方法

    本記事では、数値を受け取り、その数値に最も近い10の累乗(べき乗)を返すJavaScript関数の実装方法について解説します。 要件 入力された数値に対して、最も近い10の累乗を返す関数を作成します。期待される動作は以下の通りです。 f(1) = 1f(5) = 1f(15) = 10f(43) = 10f(456) = 100f(999) = 100 コード例 実際のコードは以下のようになります。 const num = 2355;const num1 = 346;const num2 = 678;const nearestPowerOfTen = (num) => {&nbs

  4. セパレータ区切りの文字列をJavaScriptでオブジェクトの配列に変換する方法

    JavaScriptでは、特定のセパレータ(区切り文字)で連結された文字列を、扱いやすいデータ構造へ変換したい場面がよくあります。本記事では、「|」で区切られた文字列を、キーと値のペアを持つオブジェクトの配列へ変換する方法を解説します。問題の概要例として、次のような文字列が与えられたとします。const str = Option 1|false|Option 2|false|Option 3|false|Option 4|true;この文字列は、「オプション名」と「真偽値」が交互に「|」で連結された形式になっています。ここで求められるのは、この文字列を入力として受け取り、「|」で分割しながらオ

  5. JavaScriptのカスタム関数で配列から重複要素をすべて削除する方法

    概要 リテラル値の配列を受け取るJavaScript関数を作成する必要があります。ある要素が配列内に2回以上出現している場合、その要素のすべての出現箇所を配列から削除しなければなりません。 たとえば、入力配列が次のような場合—— const arr = [1,2,3,4,4,5,5]; 期待される出力は次のとおりです。 const output = [1, 2, 3]; このように、単に重複を1つ残すのではなく、重複している要素自体を配列から完全に取り除く点がポイントです。 実装例 以下のコードでは、指定した値を配列からすべて削除する補助関数 removeAll を用意し、各要素について in

  6. JavaScriptのreduce()メソッドを使って配列の平均値を求める方法

    JavaScriptでは、数値の配列を受け取り、そのすべての要素の平均値を計算する関数が必要になる場面がよくあります。通常であればforループなどで合計を求めてから要素数で割るのが一般的ですが、今回はArray.prototype.reduce()メソッドのみを使用するという条件のもとで実装してみましょう。reduce()メソッドによる平均値の計算reduce()メソッドは、配列の各要素に対してコールバック関数(リデューサー)を実行し、単一の結果に集約するための高階関数です。リデューサー関数は以下の4つの引数を受け取ることができます。acc(アキュムレータ):前回のコールバック実行時の戻り値(

  7. JavaScriptで偶数番目と奇数番目の要素をそれぞれ合計し、その絶対差を返す方法

    本記事では、数値の配列を受け取り、偶数番目(インデックスが偶数)の要素と奇数番目(インデックスが奇数)の要素をそれぞれ別々に合計し、最後にその差の絶対値を返すJavaScript関数の実装方法を解説します。問題の概要たとえば、次のような配列が与えられたとします。const arr = [4, 6, 3, 1, 5, 8, 9, 3, 4];この配列に対して、インデックス0・2・4・6・8にある要素(4 + 3 + 5 + 9 + 4 = 25)と、インデックス1・3・5・7にある要素(6 + 1 + 8 + 3 = 18)をそれぞれ合計します。そして、両者の差 |25 − 18| を計算し、結

  8. JavaScriptで配列の最大値と最小値の差を求める方法

    本記事では、数値の配列を引数として受け取るJavaScript関数の作成方法を紹介します。この関数は、配列の中から最大値と最小値をそれぞれ取り出し、その差を返します。実装のポイント配列から最大値・最小値を取得するには、Math.max()とMath.min()を使用します。これらのメソッドは引数として個別の数値を受け取るため、スプレッド構文(...)を使って配列の要素を展開して渡すのがポイントです。サンプルコードconst arr = [4, 6, 3, 1, 5, 8, 9, 3, 4]; const difference = (arr = []) => {    

  9. JavaScriptで配列から頻度オブジェクトを構築する方法

    本記事では、リテラル値の配列を受け取り、その配列をもとにオブジェクトを構築して返すJavaScript関数の実装方法を解説します。 生成されるオブジェクトのキーには配列内の一意な要素が入り、その値には各要素が配列内に出現した回数が格納されます。いわゆる「頻度マップ(出現回数カウント)」と呼ばれるものです。 コード例 以下は、forループを使って配列を走査し、各要素の出現回数を数えるシンプルな実装例です。 { const map = {}; for (let i = 0; i < arr.length; i++) { const el = arr[i]; if (ma

  10. JavaScriptで隣接要素の差に基づいてソート済み配列をグループ化する方法

    以下のように、昇順に並べ替えられた整数の配列があると仮定します。const arr = [ 1, 2, 3, 5, 6, 7, 10, 12, 17, 18];このような配列を受け取るJavaScript関数を作成する必要があります。この関数は、次の条件を満たすように配列をグループ化しなければなりません。同じグループ内の要素どうしの差は1以下であること有効なグループとみなされるためには、各グループが2つ以上の要素を含んでいること上記の条件に基づくと、期待される出力は次のようになります。const output = [     [1, 2, 3], &nb

  11. JavaScriptでオブジェクト間の最短距離を求める方法

    問題の概要まず、次のように各キーが数値の配列を持つオブジェクトがあると仮定しましょう。const obj = { obj1: [ 0, 10 ], obj2: [ 3, 9 ], obj3: [ 5, 12, 14 ] };求められているのは、このようなオブジェクトを受け取って処理するJavaScript関数の作成です。各オブジェクトには複数の距離ポイント(候補となる数値)が含まれていますが、他のオブジェクトのポイントと組み合わせる際に選べるのは、各オブジェクトから1つだけである点に注意してください。組み合わせと距離の考え方上記の例では、obj1に2個、obj2に2個、

  12. 【JavaScript】補助変数を1つだけ使って文字列を反転させる方法

    本記事では、任意の文字列が与えられたときに、補助用の変数をたった1つだけ使って、その文字列を反転させた結果を生成するJavaScriptプログラムを紹介します。 課題の条件 このプログラムには、以下のような厳しい制約が課されています。 組み込み関数(split() や reverse() など)や、独自に定義したカスタム関数を宣言・使用してはならない 使用してよいのはバニラJS(素のJavaScript)のみで、必要であれば基本的なループ構文を利用できる つまり「関数呼び出しに頼らず、ロジックを自分で組み立てる」ことが求められる練習問題です。 実装コード 上記の条件を満たすコードは以下のと

  13. JavaScriptで桁数が偶数の数値を配列から抽出する方法

    本記事では、数値の配列を唯一の引数として受け取るJavaScript関数を作成する方法を解説します。この関数の役割は、配列の中から「桁数が偶数」である要素をすべて取り出し、それらを新しい配列として返すことです。具体例たとえば、次のような入力配列が与えられたとします。const arr = [34, 23, 112, 8, 3456, 345];この場合、期待される出力は以下のとおりです。const output = [34, 23, 3456];「34」と「23」は2桁、「3456」は4桁なので偶数桁の条件を満たします。一方、「112」「8」「345」はそれぞれ3桁・1桁・3桁のため、結果から

  14. 【JavaScript】数字を並べ替えて作れる最小の数との差を求める方法

    問題の概要本記事では、正の整数を1つだけ引数として受け取るJavaScript関数を作成します。この関数の目的は、元の数値と、その数値の各桁を並べ替えることで作成できる「最小の数」との差を求めて返すことです。具体例例として、入力される数値が 820 の場合を考えてみましょう。各桁を並べ替えて作れる最小の数は「028」、すなわち 28 になります。したがって、期待される出力は次のとおりです。820 - 28 = 792実装コード以下が実際のコード例です。 { const numStr = + num; const sorted = numStr.split().sort();

  15. JavaScriptで配列内の出現回数が2番目に多い要素を取得する方法

    この記事では、リテラル値の配列を受け取り、その中で出現回数が2番目に多い要素を返すJavaScript関数の実装方法を解説します。問題の概要例として、入力配列が以下の場合を考えてみましょう。const arr = [2, 5, 4, 3, 2, 6, 5, 5, 7, 2, 5];この配列では、5が4回、2が3回出現しています。つまり、最も多く出現する要素は5であり、2番目に多く出現する要素は2です。したがって、期待される出力は次のようになります。const output = 2;アルゴリズムの流れ空のオブジェクト(マップ)を作成し、各要素の出現回数を記録します。配列を走査しながら、各要素のカ

  16. JavaScriptでオブジェクトの値をキーにマッピングする方法(逆マッピングの実装)

    JavaScriptでは、オブジェクトの「キー」と「値」を入れ替えて新しいオブジェクトを作成したい場面があります。これを逆マッピング(リバースマップ)と呼びます。本記事では、その具体的な実装方法を解説します。問題の概要まず、次のようなオブジェクトがあるとします。const obj = { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 };このようなオブジェクトを引数として受け取り、値をキーへ、キーを値へと反転させた新しいオブジェクトを返す関数を作成する必要があります。つまり、上記のオブジェクトの場合、期待される出力は次のよ

  17. JavaScriptで2つの日付間の日数を計算する方法

    本記事では、「YYYY-MM-DD」形式の文字列で与えられた2つの日付を受け取り、その間の日数を計算して返すJavaScript関数の作成方法を解説します。うるう年も正確に考慮した実装となっているため、任意の期間に対して信頼性の高い結果が得られます。要件の確認作成する関数は、第1引数と第2引数にそれぞれ「YYYY-MM-DD」形式の日付文字列を受け取り、2つの日付の間の日数を数値として返す必要があります。例えば、入力が以下の場合を考えてみましょう。const str1 = 2020-05-21; const str2 = 2020-05-25;この場合、2020年5月21日から5月25日までの

  18. JavaScriptで数値の桁を合計し、1桁になるまで繰り返す方法

    この記事では、数値を唯一の引数として受け取り、その各桁を合計した結果が1桁の数字に収束するまで合計を繰り返すJavaScript関数の作成方法を解説します。 問題の概要 例えば、次のような数値が与えられたとします。 const num = 54564567; この場合、関数は以下のように各桁を順番に合計していきます。 5+4+5+6+4+5+6+7 = 42 4+2 = 6 したがって、最終的な出力は 6 になります。 実装のアプローチ まず、再帰処理を使って数値の各桁を合計するヘルパー関数 sumDigits を定義します。num % 10 で最下位の桁を取り出して合計に加算し、Math.f

  19. JavaScriptで配列の部分和(累積和)を求める方法

    本記事では、数値の配列(ネストされた配列)を受け取り、各サブ配列ごとに「部分和」の配列を作成するJavaScript関数の実装方法を解説します。部分和(累積和)とは、配列内の各要素が「その要素自身と、それ以前のすべての要素の合計」になるように計算した配列のことです。処理内容の例たとえば、入力配列が以下の場合を考えてみましょう。const arr = [ [1, 1, 1, -1], [1, -1, -1], [1, 1] ];この場合、期待される出力は次のようになります。const output = [ [1, 2, 3, 2], [1, 0, -1], [1, 2]

  20. JavaScriptでオブジェクトのキーと値を配列として取得する方法

    概要リテラル値をマッピングしたオブジェクトを受け取り、そのキーと値を抽出して二次元配列として返すJavaScript関数を作成する方法を解説します。作成する関数は「配列の中に配列が入った構造(二次元配列)」を返し、各サブ配列は必ず2つの要素を持つ必要があります。1つ目の要素にはオブジェクトの各ペアにおけるキー、2つ目の要素にはそれに対応する値を格納します。コード例 { const res = []; for(const key in obj){ res.push([key, obj[key]]); }; return res; }; console.log(retrie

Total 5937 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:41/297  20-コンピューター/Page Goto:1 35 36 37 38 39 40 41 42 43 44 45 46 47