JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptで配列の隣接要素間の最大絶対差を求める方法

    問題の概要 整数の配列が与えられたとき、隣接する2つの要素間の絶対差の中で最大となる値を求める必要があります。 例えば、次のような入力配列があるとします。 const arr = [2, 4, 1, 0]; この場合の出力は以下のようになります。 const output = 3; これは、配列内で最も絶対差が大きいのが「4」と「1」のペア(|4 − 1| = 3)だからです。他の隣接ペアである |2 − 4| = 2 や |1 − 0| = 1 と比べて、この値が最大となっています。 実装例 この問題は、reduce() メソッドを活用することで簡潔に解

  2. JavaScriptで配列をn個ずつのグループに分割して平均値を取得する方法

    概要本記事では、第1引数として数値の配列を、第2引数として数値 n を受け取る JavaScript 関数を作成します。この関数は、配列の要素を n 個ずつのグループに順番に分割し、各グループの平均値を格納した新しい配列を返します。入力例と出力例例えば、以下のような入力が与えられた場合を考えてみましょう。const arr = [1, 2, 3, 4, 5, 6];const n = 2;この場合、出力は次のようになります。const output = [1.5, 3.5, 5.5];これは、配列が (1, 2)、(3, 4)、(5, 6) という2個ずつのグループに分割され、それぞれの平均値

  3. JavaScriptでネストされた複数の配列を1つの配列にまとめる方法

    JavaScriptでは、配列の中にさらに配列が入った「ネストされた配列」を扱うことがあります。たとえば、次のようなデータ構造を考えてみましょう。const arr = [     [{c: 1},{d: 2}],     [{c: 2},{d: 3}] ];ここで必要となるのは、このような配列を第1引数(唯一の引数)として受け取るJavaScript関数の作成です。作成する関数は、元の配列を直接変更せずに新しい配列を生成し、ネストされた配列を取り除いたうえで、オブジェクトだけをフラット(平坦)に並べた1つの配列へ

  4. JavaScriptでJSONオブジェクトを2つのプロパティでグループ化してカウントする方法

    次のようなオブジェクトの配列があるとします。const arr = [ {"location":"Kirrawee","identity_long":"student"}, {"location":"Kirrawee","identity_long":"visitor"}, {"location":"Kirrawee","identity_long":&

  5. 【JavaScript】配列の文字列を分割して集計オブジェクトに変換する方法

    JavaScriptでは、ハイフン(-)で区切られた文字列が格納された配列を、階層的なオブジェクトへと変換したいケースがあります。本記事では、reduce()メソッドとsplit()メソッドを組み合わせて、この変換をスマートに実現する方法を解説します。課題となるデータまず、次のような文字列の配列を例に考えてみましょう。const arr = [ fiat-palio, fiat-stilo, fiat-strada, fiat-uno, fiat-uno, gm-corsa, gm-celta, ford-fiesta,

  6. JavaScriptで配列をソートし、重複する数値ごとにサブ配列へグループ化する方法

    JavaScriptでは、数値の配列を唯一の引数として受け取る関数を作成することが求められるケースがあります。この入力配列には、同一の値(重複した要素)が含まれている可能性があります。ここで作成する関数は、配列を昇順に並べ替えたうえで、すべての同一の数値をそれぞれ独立したサブ配列にグループ分けして返す必要があります。例たとえば、入力配列が次のような場合 −const arr = [5, 7, 5, 7, 8, 9, 1, 1];期待される出力は以下のとおりです −const output = [     [1, 1],  

  7. JavaScriptでオブジェクトの配列を集約!重複データをカウントして整理する方法

    問題の概要 例えば、次のようなオブジェクトの配列があったとします。 const arr = [ { Country: BR, New Lv1−Lv2: #N/A }, { Country: BR, New Lv1−Lv2: #N/A }, { Country: , New Lv1−Lv2: test } ]; ここで求められているのは、この配列を受け取り、「Country」プロパティの値が同じオブジェクトを重複とみなして1つにまとめ、重複のない新しい配列を作成して返すJavaScript関数です。 さらに、各オブジェクトに

  8. 【JavaScript】2つのプロパティを使ってオブジェクト配列を並べ替える方法

    問題の概要次のようなオブジェクトの配列があるとします。const arr = [ { resVal: 25FA15, resFlow: 49, resName: Rendimiento Tri-Seal Completo, resPhoto: Tri-Sealseries.png, resHP: 1.5 }, { resVal: 25FA2, resFlow: 52, resName: Rendimiento Tri-Seal Completo, resPhoto: Tri-Sealseries.png, resHP: 2 }, { resVal: 45FA2, res

  9. JavaScriptで配列内の重複オブジェクトをマージしてカウントを集計する方法

    次のような、オブジェクトを要素にもつ配列があったとしましょう。const arr = [ {code: AA, gender:male, DOB:2000-05-15}, {code: AA, gender:female, DOB:2015-05-15}, {code:A0, gender:female, DOB:2005-01-01}, {code: A1, gender:male, DOB:2015-01-15} ];このような配列を受け取り、「code」プロパティの値をもとに重複しているオブジェクトをグループ化して件数を数え、一意なオブジェクトごとに新しい

  10. JavaScriptで配列から重複を削除して並べ替える「ユニークソート」の実装方法

    配列から重複する要素を取り除き、同時に並べ替えを行うテクニックは、一般的にユニークソート(一意の並べ替え)と呼ばれます。たとえば、次のような入力配列があった場合を考えてみましょう。const arr = [1, 1, 1, 3, 2, 2, 8, 3, 4];この場合、重複が削除され、昇順に並べ替えられた出力は次のようになります。const output = [1, 2, 3, 4, 8];オブジェクトを使ったユニークソートの実装例ここでは、オブジェクト(連想配列)をマップとして利用し、すでに処理済みの値を記録することで重複を判定する方法を紹介します。コードは以下の通りです。const arr

  11. 【JavaScript】オブジェクト配列のプロパティをマージしてグループ化する方法

    例えば、次のようなオブジェクトの配列があるとします。const arr = [ {name: lorem, age: 20, color:red}, {name: lorem, weight: 1, height:5}, {name: hello, ipsum : dolor} ];ここで求められているのは、このようなオブジェクトの配列を受け取り、「name」プロパティの値が共通するオブジェクト同士のすべてのプロパティをグループ化(マージ)して返すJavaScript関数を作成することです。例えば、上記の配列の場合、期待される出力は以下のようになります。const ou

  12. JavaScriptの配列を特定のキー(tableName)ごとにグループ化する方法

    JavaScriptでデータを扱っていると、フラットな配列を特定のキーごとにまとめ直したい場面がよくあります。本記事では、tableName プロパティの値を基準に、オブジェクトの配列をグループ化する方法を解説します。 前提となる入力データ まず、次のような配列があったとします。 const data = [ { dataId: 1, tableName: table1, column: firstHeader, rows: [a, b, c] }, { dataId: 2, tableName: table1, colum

  13. JavaScriptで日付文字列の配列から最も古い日付と最新の日付を取得する方法

    JavaScriptでは、ISO形式(YYYY-MM-DD HH:MM:SS)の日付文字列は、そのまま文字列比較をしても時系列順に正しく並びます。この特性を利用すると、配列の中から最も古い日付と最新の日付を簡単に見つけることができます。元となるデータまず、次のような日付文字列の配列があるとします。const arr = [ 2017-01-22 00:21:17.0, 2017-01-27 11:30:23.0, 2017-01-24 15:53:21.0, 2017-01-27 11:34:18.0, 2017-01-26 16:55:48.0,

  14. JavaScriptで複数の条件に基づいてJSONデータをグループ化し平均値を計算する方法

    フロントエンド開発では、APIから取得したJSONデータを特定の条件で集約し、統計値を算出する処理が必要になることがよくあります。本記事では、複数のフィルター条件(「SupplierName」と「Category」)に基づいてオブジェクトの配列をグループ化し、ポイントの合計値と平均値を計算するJavaScriptの実装方法を、サンプルコード付きでわかりやすく解説します。 元データのサンプル まず、以下のようなサプライヤーの評価データを含む配列を想定します。あえて、Pointsがundefinedになっている不正なレコードも含めています。 const arr = [ { Supplie

  15. JavaScriptで階乗の末尾にあるゼロの個数を求める方法

    整数 n が与えられたとき、n!(階乗)の末尾に連続して現れるゼロの個数を返す関数を作成します。例えば、以下のようになります。trailingZeroes(4) = 0trailingZeroes(5) = 1 // 5! = 120 のためtrailingZeroes(6) = 1考え方階乗の末尾のゼロは、「2 × 5 = 10」というペアがいくつ作られるかによって決まります。階乗の中では2の個数が5の個数より常に多いため、約数として含まれる5の個数を数えれば、末尾のゼロの個数と一致します。具体的には、n / 5 で5の倍数の個数を、n / 25 で25(= 5²)の倍数の個数を、というよ

  16. 【JavaScript】2からnまでの素数の個数を数える関数の実装方法

    問題の概要 本記事では、数値 n を唯一の引数として受け取り、2 から n までの範囲に含まれる素数の個数を返す JavaScript 関数の実装方法を解説します。 入出力の例 n = 10 の場合 → 出力は 4(素数: 2, 3, 5, 7) n = 1 の場合 → 出力は 0 実装コード 以下のコードは、古典的なアルゴリズム「エラトステネスの篩(ふるい)」の考え方を応用したものです。配列を使って合成数を順に除外していくことで、効率よく素数を数えています。 const countPrimesUpto = (num = 1) => {     i

  17. JavaScriptで同形文字列(アイソモーフィック)を判定する方法

    同形文字列とは?2つの文字列(str1 と str2)について、str1 に含まれる文字を対応する文字へ置き換えることで str2 と一致させられる場合、この2つの文字列は「同形(アイソモーフィック)」であると言います。例を見てみましょう。const str1 = abcde; const str2 = eabdc;この2つの文字列は、同形文字列の一例です。ここでは、2つの文字列を引数として受け取り、それらが同形であるかどうかを判定するJavaScript関数を作成します。実装例 { if (str1.length !== str2.length) { return fals

  18. 【JavaScript】数値の各桁を繰り返し加算して1桁に収束させる2つの方法

    本記事では、数値を受け取り、その各桁の数字を繰り返し合計していき、最終的に1桁の数値へと収束させるJavaScript関数の実装方法を解説します。たとえば「123456」という数値の場合、「1 + 2 + 3 + 4 + 5 + 6 = 21」となり、さらに「2 + 1 = 3」で1桁になります。このように桁をまたいで合計を繰り返す処理は、チェックデジットの計算や数値の検証処理などでも使われる有名なテクニックです(デジタルルートと呼ばれます)。この問題は、以下の2つのアプローチで解決できます。 方法1:ループを使用する まず紹介するのは、whileループを使って各桁の数字を繰り返し足し合わせて

  19. JavaScriptで数値が3のべき乗かどうかを判定する関数の実装方法

    はじめに本記事では、引数として渡された整数が3のべき乗(3, 9, 27, 81, 243…)であるかどうかを判定するJavaScript関数の実装方法を詳しく解説します。条件を満たす場合は true を、満たさない場合は false を返すシンプルな関数を作成していきます。期待される動作まず、関数の入出力のイメージを確認しておきましょう。isPowerOf3(243) // true (243 = 3⁵)isPowerOf3(343) // false (343 = 7³ なので3のべき乗ではない)isPowerOf3(81) // true (81 = 3⁴)実装コード以下が実際の実

  20. JavaScriptでソート済み配列をマージする方法を解説

    ソート済み配列のマージとは JavaScriptでは、昇順にソートされた2つの配列を1つに統合し、その結果もソートされた状態に保ちたい場面があります。例えば、次のような2つの配列を考えてみましょう。 const arr1 = [1, 2, 3, 0, 0, 0]; const arr2 = [2, 5, 6]; ここで求められるのは、これら2つの配列を受け取り、全要素を昇順に並べ替えた新しい配列を返すJavaScript関数です。上記の配列の場合、期待される出力は以下のようになります。 const output = [1, 2, 2, 3, 5, 6]; 注意したいのは、arr1の末尾にある「

Total 5937 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:51/297  20-コンピューター/Page Goto:1 45 46 47 48 49 50 51 52 53 54 55 56 57