JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptでネストされた配列を文字列に変換する方法

    JavaScriptでは、リテラル(文字列や数値など)が入れ子になった配列を受け取り、その中に含まれるすべての値を連結して1つの文字列に変換する関数が必要になる場面があります。本記事では、再帰処理を使って、どれだけ深くネストした配列でもフラットな文字列に変換できる実装方法を解説します。ネストされた配列の例まず、次のような多次元配列を用意しました。配列の中にさらに配列が含まれている構造です。const arr = [ hello, [ world, how, [ are, you, [ without, me

  2. JavaScriptで3点が同一線上(共線)にあるかどうかを判定する方法

    共線点(Collinear Points)とは 同じ一本の直線上に存在する3つ以上の点は、「共線点」と呼ばれます。 そして、3点が同一の直線上にあるかどうかは、それらの点から作られる3組の線分すべての傾きが等しいことで判断できます。 例として、2次元平面上の任意の3点 A、B、C を考えてみましょう。これらの点が同一線上にあるための条件は次の通りです。 ABの傾き = BCの傾き = CAの傾き 直線の傾きとは 直線の傾きは、一般的にx軸の正方向に対して直線がなす角度のタンジェント(正接)として定義されます。 また、直線上の2点、たとえば A(x1, y1) と B(x2, y2) の座標が

  3. 配列内の数値の符号を反転する方法 - JavaScript

    JavaScriptでは、正の数と負の数が混在する配列を受け取り、その場で(in place)各要素の符号を反転させる関数が必要になることがあります。つまり、正の数は対応する負の数に、負の数は対応する正の数に変換します。実装の考え方符号の反転は、各要素に -1 を掛けるだけで実現できます。配列を走査しながら各要素を書き換えることで、元の配列自体を直接更新できます。それでは、実際のコードを見てみましょう。コード例 { arr[ind] *= -1; }); }; changeSign(arr); console.log(arr);出力結果コンソールには以下のように出力さ

  4. JavaScriptでプロニック数(矩形数)を判定する関数の実装方法

    プロニック数(矩形数)とは、「2つの連続する整数の積」で表される数のことです。つまり、n(n + 1) の形式で表現できる数を指します。例えば、12 は 3 × 4 = 12 と表せるためプロニック数ですが、10 は連続する2つの整数の積では表せないため、プロニック数ではありません。本記事では、与えられた数値がプロニック数であれば true を、そうでなければ false を返すJavaScript関数を実装していきます。判定アルゴリズムの考え方判定には以下の手順を使用します。1. 対象の数値の平方根を求め、その小数点以下を切り捨てた値から探索を開始します。2. n × (n + 1) の計算

  5. 2つの配列から共通しない要素を抽出するJavaScriptプログラム

    ここに、2つの数値の配列があるとします。const arr1 = [12, 54, 2, 4, 6, 34, 3]; const arr2 = [54, 2, 5, 12, 4, 1, 3, 34];このような2つの配列を受け取り、両方の配列に共通して存在しない要素(片方にしかない要素)だけを返すJavaScript関数を作成する必要があります。実装の考え方この問題は、以下の手順で解決できます。1つ目の配列をループで走査し、その要素が2つ目の配列に存在しない場合は結果に追加する同様に、2つ目の配列を走査し、1つ目の配列に存在しない要素を結果に追加する要素の存在確認には、indexOf()メソッ

  6. 【JavaScript】ある文字列が別の文字列内に出現する回数をカウントする方法

    この記事では、2つの文字列を受け取り、一方の文字列(部分文字列)がもう一方の文字列(対象文字列)の中に何回出現するかを数えて返す、JavaScript関数の作り方を解説します。 前提となる文字列の準備 まず、検索対象となる文字列を用意します。 const main = This is the is main is string; この「main」の中に、次の文字列が何回登場するかを調べます。 const sub = is; 正規表現とreplace()を使った実装例 グローバルフラグ(g)を付けた正規表現オブジェクトを作成し、replace() のコールバック関数が呼ばれるたびにカウントを1つ

  7. 配列内の再帰的な乗算処理をJavaScriptで実装する方法

    本記事では、ネストされた配列(入れ子構造の配列)に含まれる数値の積(乗算結果)を求めるJavaScript関数の実装方法を解説します。問題の概要扱う対象は、数値だけでなく、null・undefined・false などのfalsy値、さらに文字列も含まれる可能性がある多次元配列です。この関数が満たすべき要件は以下のとおりです。ネストされた配列内のすべての数値を掛け合わせた積を返す0 や null、undefined、false などのfalsy値は無視する文字列などの数値以外の値も除外する実装のポイント配列が入れ子になっているため、再帰呼び出しを使って各階層を順番に処理するのが最もシンプルで効

  8. JavaScriptで配列内の2番目に多い要素を検索する方法

    配列内で2番目に多く出現する要素を見つける今回は、文字列(または数値の配列)を受け取り、その中で2番目に出現回数が多い要素を返すJavaScript関数を作成します。例として、次のような配列を考えてみましょう。const arr = [1, 34, 4, 3, 2, 1, 4, 6, 4, 6, 5, 3, 6, 6];この配列で最も頻繁に現れる要素は 6(4回出現)です。しかし、今回求めたいのは2番目に頻繁な要素、つまり 4(3回出現)です。実装の考え方処理の手順は以下の通りです。reduce() を使って、各要素の出現回数を Map オブジェクトに記録します。Map を [要素, 出現回数

  9. JavaScriptで文字列をn個の等しい部分に分割する方法を解説

    本記事では、文字列と数値 n を引数として受け取り(n は文字列の長さをちょうど割り切れる値とします)、その文字列を n 個の等しい部分に分割した配列を返す JavaScript 関数の作成方法を解説します。 例えば、長さ 23 文字の文字列を 5 で分割する場合、各部分は 4〜5 文字ずつに分けられます。それでは、実際のコードを見ていきましょう。 実装コード const str = this is a sample string; const num = 5; const divideEqual = (str, num) => {     con

  10. JavaScriptで2つの配列が等しいかどうかを判定する方法

    はじめに本記事では、2つの配列を受け取り、対応する要素同士を順番に比較して、すべての要素が一致していれば true を、1つでも異なる要素があれば false を返すJavaScript関数の作成方法を解説します。アプローチ配列の同等性をチェックする際は、以下の手順で処理を行うのが基本的な考え方です。まず、両方の配列の長さを比較します。長さが異なる場合は、その時点で false を返せば十分です。次に、ループを使って各インデックスの要素を厳密等価演算子(===)で比較し、不一致が見つかった時点で false を返します。ループが最後まで完了し、すべての要素が一致していれば、最終的に true

  11. 【JavaScript】配列の最大値と最小値を除外して平均値を求める方法

    はじめにこの記事では、数値の配列を受け取り、その中から最小値と最大値を除外した残りの要素の平均値を返すJavaScript関数の作り方を解説します。統計処理やテストのスコア計算など、外れ値の影響を避けたいトリム平均(刈り込み平均)を求めたい場面で役立つテクニックです。実装の考え方最も効率的なのは、配列を一度だけ走査しながら「合計値」「最小値」「最大値」を同時に記録していく方法です。reduce()メソッドを使えば、以下の手順でまとめて処理できます。初期値として、合計(sum)は 0、最小値(min)は Infinity、最大値(max)は -Infinity を設定する。各要素を順に処理し、合

  12. JavaScriptで再帰を使った階乗の計算方法をわかりやすく解説

    本記事では、再帰(リカーシブ)のアプローチを利用して、数値 n の階乗を計算するJavaScript関数の作成方法を解説します。 階乗とは? 階乗とは、ある正の整数から1までのすべての整数を掛け合わせた値のことです。例えば、5の階乗は「5 × 4 × 3 × 2 × 1 = 120」となります。なお、数学の定義上、0の階乗は1とされています。 再帰関数 recursiceFactorial() の実装 ここでは、カスタム関数 recursiceFactorial() を作成して、再帰的に階乗を求めます。コードは以下の通りです。 const num = 9; const recursice

  13. JavaScriptで配列内の連続する負の数のグループ数を数える方法

    問題の概要 まず、次のような数値の配列を用意します。 const arr = [-1,-2,-1,0,-1,-2,-1,-2,-1,0,1,0]; ここで求められているのは、配列内で連続して出現する負の数のかたまり(グループ)の数を数えるJavaScript関数を作成することです。 上記の配列で確認してみましょう。インデックス0〜2には負の数が連続しており、これが1つ目のグループとなります。その後、インデックス4〜8にも負の数が連続しており、これが2つ目のグループです。 したがって、この配列に対しては関数は 2 を返す必要があります。 解決アプローチ この問題は、Array.prototyp

  14. JavaScriptでオブジェクトの配列を比較する方法|IDの存在チェックを実装

    問題の概要 次のように、2つのオブジェクトの配列があったとします。 const blocks = [ { id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }, ]; const containers = [ { block: { id: 1 } }, { block: { id: 2 } }, { block: { id: 3 } }, ]; ここで必要となるのは、blocks 配列の各オブジェクトが持つ id が、containers 配列内の各オブジェクトの block.id としてすべて存在するかどうかをチェックする関数です。bl

  15. JavaScriptで偶数番目と奇数番目の桁の合計の差を求める方法

    本記事では、数値を引数として受け取り、「偶数番目の位置にある桁の合計」と「奇数番目の位置にある桁の合計」の差を返すJavaScript関数の作成方法を解説します。問題の例例として、数値 345336 を考えてみましょう。右側から数えて、偶数インデックス(0、2、4番目)にある桁は「6」「3」「4」で、その合計は13です。一方、奇数インデックス(1、3、5番目)にある桁は「3」「5」「3」で、その合計は11になります。したがって、求める差は 13 − 11 = 2 となります。コード例それでは、実際のコードを見てみましょう。const num = 345336; { if(num){

  16. JavaScriptで配列内の重複する値を合計して1つの要素にまとめる方法

    問題の概要 数値が格納された配列(重複する要素を含む)を受け取り、重複している値をすべて合計して、同じ値ごとに1つの要素へまとめるJavaScript関数を作成します。 例として、次のような入力配列が与えられたとします。 const input = [1, 3, 1, 3, 5, 7, 5, 4]; この場合、期待される出力は次のとおりです。 const output = [2, 6, 7, 10, 4]; 「1」「3」「5」はそれぞれ2回ずつ出現しているため、合計されて「2」「6」「10」となり、重複のない「7」と「4」はそのままの値で残ります。 サンプルコード それでは、実際のコードを見て

  17. 【JavaScript】負の数の各桁(先頭は負・残りは正)を合計する方法

    課題負の整数を受け取り、その各桁の合計を返すJavaScript関数を作成することを考えます。ここでのポイントは、先頭の桁を負の値として扱い、それ以降の桁は正の値として加算するという点です。例具体的には、次のような計算結果が求められます。-234 → -2 + 3 + 4 = 5 -54 → -5 + 4 = -1実装の考え方この関数は、次の手順で実装できます。1. 数値を String() で文字列に変換する2. split() で1文字ずつ配列に分割する3. reduce() メソッドで各桁を順番に処理する4. インデックス0(マイナス記号)はスキップし、インデックス1の最初の数字は減算、

  18. JavaScriptでnull値を含む配列を文字列に変換する方法

    文字列の値とnullishな値(null や undefined)が混在した配列があるとします。ここでは、この配列を受け取り、nullishな値を除外しながら配列の要素を結合して文字列を返すJavaScript関数を作成する必要があります。以下は、null と undefined の値を含む配列の例です。const arr = [Here, is, null, an, undefined, example, 0, , of, a, null, sentence];それでは、この関数のコードを書いてみましょう。コード例 { return acc + (val || );

  19. JavaScriptで最初の文字に基づいて重複する要素を削除する方法

    問題の概要文字列の配列を受け取り、同じ頭文字で始まる文字列が2つ存在する場合に、そのうち1つを削除するJavaScript関数を作成する必要があります。例えば、元の配列が以下のとおりだとします。const arr = [Apple, Jack, Army, Car, Jason];この場合、配列には各頭文字の文字列を1つだけ残すため、「A」で始まる2つの文字列のうち1つを削除します。同様に、上記の配列では「J」で始まる文字列にも同じロジックが適用されます。実装コードこの関数のコードは以下のとおりです −const arr = [Apple, Jack, Army, Car, Jason];co

  20. 【JavaScript】和がn・積がmとなる2つの数値のペアを見つけて返す関数の作り方

    はじめに今回は、2つの数値 m と n を引数として受け取り、和が n、積が m となる2つの数値のペアを返す JavaScript 関数を作成します。条件を満たす組み合わせが存在しない場合は false を返す仕様とします。アプローチもっともシンプルな方法は線形探索(ブルートフォース)です。0 から n の半分未満までの各整数 i について、「i と (n − i) の積」が m と一致するかどうかを順番に確認していきます。i × (n − i) === m となれば、[i, n − i] を返すループが終了するまで見つからなければ、false を返す探索範囲を「n の半分未満」に限定するこ

Total 5937 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:98/297  20-コンピューター/Page Goto:1 92 93 94 95 96 97 98 99 100 101 102 103 104