JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptで数値を降順に並べ替えつつ、0を先頭に配置する方法

    数値の配列を受け取り、次の条件に従って並べ替えるJavaScript関数を作成する方法を解説します。配列に0が含まれている場合、それらはすべて先頭に配置する。それ以外の数値はすべて降順(大きい順)で並べる。具体例たとえば、入力配列が次のようになっているとします。const arr = [4, 7, 0, 3, 5, 1, 0];この配列を並べ替えると、期待される出力は次のとおりです。const output = [0, 0, 7, 5, 4, 3, 1];実装の考え方ここでは Array.prototype.sort() メソッドを使用します。ポイントは以下の2点です。降順ソート: 比較関数で

  2. JavaScriptで要素をグループ化し、重複の出現回数をカウントする効率的なアルゴリズム

    JavaScriptでは、複数のオブジェクトが格納された配列から、特定のプロパティ値が一致するデータ同士を「重複」とみなし、それらをグループ化して出現回数を集計したいケースがあります。本記事では、配列内のオブジェクトを指定したキーでグループ化し、「重複」が何回発生したかという情報も合わせて保持する方法を解説します。やりたいことまず、以下のようなデータがあると仮定します。    X A B O    Y X Z I    Y X Z U   &nb

  3. JavaScriptでオブジェクトの配列を効率的にグループ化する方法

    以下のようなオブジェクトの配列があるとします。const arr = [     { Phase: "Phase 1", Step: "Step 1", Task: "Task 1", Value: "5" },     { Phase: "Phase 1", Step: "Step 1", Task: "Task 2", Value: "10" }, &n

  4. JavaScriptでネストされた配列から最も短いサブ配列を取得する方法

    はじめに例えば、次のようなネストされた配列(配列の中に複数の配列が格納されている構造)があるとします。const arr = [     ["LEFT", "RIGHT", "RIGHT", "BOTTOM", "TOP"],     ["RIGHT", "LEFT", "TOP"],     ["TOP&q

  5. JavaScriptで配列の中から最大値を取得して返す方法

    本記事では、数値の配列を受け取り、その中から最大の要素を見つけ出して返すJavaScript関数の実装方法を解説します。関数は配列を先頭から順に走査し、要素同士を比較しながら最も大きい値を特定する仕組みです。サンプルコード実際のコードは以下のようになります。const arr = [5, 3, 20, 15, 7]; const findGreatest = (arr = []) => {    let greatest = -Infinity;    if(!arr?.length){       return nu

  6. JavaScriptでpriceプロパティを基準にオブジェクト配列をソートする方法

    ここでは、住宅情報(ID、都市名、州、郵便番号、価格)を格納したオブジェクトの配列を例に考えます。const arr = [    {       "h_id": "3",       "city": "Dallas",       "state": "TX",       "zip": "75201&quo

  7. JavaScriptでオブジェクト配列をindexプロパティの値に基づいて並べ替える方法

    はじめにJavaScriptでは、オブジェクトが格納された配列を特定のプロパティの値に基づいて並べ替えたい場面がよくあります。本記事では、各オブジェクトが持つ index プロパティの値を基準に配列を昇順にソートし、その結果を文字列の配列へ変換する方法を解説します。対象となるデータ例として、次のようなオブジェクトの配列を想定します。const arr = [ { name: d, index: 3 }, { name: c, index: 2 }, { name: a,

  8. JavaScriptで2次元配列をスパース配列に変換する方法

    例として、次のような2次元配列があるとしましょう。const arr = [ [3, 1], [2, 12], [3, 3] ];ここでの課題は、このような配列を引数として受け取るJavaScript関数を作成することです。関数は、入力配列で指定されたインデックスの位置にのみ値を設定し、それ以外の要素はすべてundefinedで初期化された新しい2次元配列(スパース配列/疎な配列)を生成する必要があります。したがって、上記の入力配列に対しては、次のような対応関係になります。output[3][1] = 1; output[2][12] = 1; output[3][3]

  9. JavaScriptで英数字が混在した配列をアルファベット順・数字順にソートする方法

    はじめにJavaScriptでは、英字と数字が混在した文字列の配列を並べ替えたい場面がよくあります。例えば「Ab-1」「ab-10」のような文字列を、まずアルファベット順に、同じ英字同士は数字の昇順でソートしたいケースです。しかし、単純にsort()を呼び出すだけでは、文字列として先頭から比較されるため、「ab-10」が「ab-2」より前に来てしまうなど、意図した順序になりません。そこで本記事では、文字列を英字部分と数字部分に分けて比較する、カスタムソート関数の実装方法を解説します。対象となる配列次のような英数字が混在した配列を並べ替えます。const arr = [Ab-1, Ab-11,

  10. 【JavaScript】入力した数値の各桁の合計をボタンクリックで計算・表示する方法

    はじめに 本記事では、ユーザーが数値を入力できるテキストボックスを用意し、ボタンがクリックされたときに、その数値の各桁の合計を計算して画面に表示するJavaScriptプログラムの作り方を解説します。 例えば「12345」と入力して送信ボタンを押すと、「1 + 2 + 3 + 4 + 5 = 15」というように、すべての桁の数字を足した結果が出力されます。 実装コード まずは完成形のコードを見てみましょう。 JavaScriptコード function myFunc() {     var num = document.getElementById(

  11. JavaScriptでオブジェクトの配列を配列の配列(2次元配列)に変換する方法

    オブジェクトの配列を配列の配列へ変換するたとえば、次のようなオブジェクトの配列があるとします。const arr = [     {2015:11259750.05},     {2016:14129456.9} ];このような配列を引数として受け取り、入力データをもとに「配列の配列」(2次元配列)を組み立てるJavaScript関数を作成することを考えます。各オブジェクトのキーと値をペアにした配列へと変換するイメージです。したがって、上記の配列に対して期待される出力は次のようになります。const output

  12. JavaScriptでオブジェクトの配列をプロパティ値ごとにグループ化する方法

    JavaScriptでは、オブジェクトの配列を特定のプロパティの値を基準にグループ化したい場面がよくあります。例えば、次のような果物や野菜のデータを含む配列があったとしましょう。const arr = [     {food: apple, type: fruit},     {food: potato, type: vegetable},     {food: banana, type: fruit}, ];ここでの課題は、このような配列を受け取るJavaScript関数を

  13. JavaScriptでフラットなJSON配列からツリー構造を構築する方法

    JavaScript開発では、ドット区切りの階層コードを持つフラットな配列を、親子関係を表現したネストされたツリー構造へ変換したいケースがよくあります。カテゴリ一覧や組織図、メニュー構成などのデータを扱う際に役立つ処理です。問題の概要ここでは、次のような配列を例に考えてみましょう。各オブジェクトは「code」(階層を表すドット区切りコード)と「name」をプロパティとして持っています。const arr = [{ code: 2, name: PENDING }, { code: 2.2, name: PENDING CHILDREN }, { code

  14. JavaScriptでネストされた配列をフィルタリングする方法

    この記事では、入れ子(ネスト)構造を持つオブジェクトの配列に対して、特定の条件に一致する要素だけを抽出するフィルター処理を、JavaScriptで実装する方法を解説します。Array.prototype.filter と Array.prototype.some を組み合わせることで、階層化されたデータも簡潔に検索できます。 問題の概要 まず、次のように legs という配列プロパティを持つオブジェクトの配列を想定します。 const arr = [{ id: 1, legs:[{ carrierName:Pegasus }] }, { id:

  15. JavaScriptで配列からn個の数値を選び、最大の積を返す方法

    JavaScriptでは、第一引数として数値の配列、第二引数として数値 n を受け取る関数を作成することが求められます。この関数は、配列の中から n 個の数値を選んだときに実現できる最大の積を計算し、その結果を返します。アプローチのポイント最大の積を求めるには、単純に大きい数字だけを選べばよいわけではありません。負の数同士を掛けると正になるため、絶対値が大きい負の数2つの積が、小さい正の数2つの積を上回るケースがあります。そこで、以下のような戦略を取ります。まず配列を昇順にソートします。n が配列の長さより大きい場合、また n が奇数かつ配列の最大値が負の場合は、有効な結果が得られないため u

  16. JavaScriptで現在のタイムスタンプを取得する方法(秒・ミリ秒)

    JavaScriptで現在時刻のタイムスタンプを取得したい場面は多くあります。この記事では、秒単位とミリ秒単位の2つの形式でタイムスタンプを取得する方法を解説します。JavaScriptのタイムスタンプの仕組みJavaScriptは「1970年1月1日0時0分0秒(UTC)=エポック(Epoch)」からの経過時間をミリ秒で扱います。一方、Unixタイムスタンプのように秒単位で扱う言語も多いため、用途に応じて単位を変換する必要があります。Unixタイムスタンプ(秒単位)を取得する方法Unixタイムスタンプとして一般的な秒単位の値が必要な場合は、Date.now()やgetTime()で取得したミ

  17. JavaScriptの配列から特定の要素を削除する方法を徹底解説

    JavaScriptでプログラミングをしていると、数値が格納された配列から特定の要素だけを削除したい場面によく出くわします。例えば、次のような配列から「5」という値をすべて取り除きたい場合などです。const arr = [2, 5, 9, 1, 5, 8, 5];この記事では、フレームワークに頼らず、素のJavaScript(コアJavaScript)だけで実装する方法を解説します。目標は、以下のように直感的に呼び出せるメソッドを作ることです。array.remove(値); splice()を使った削除メソッドの実装 配列から要素を削除する際に便利なのが、Arrayオブジェクトが標準で持

  18. JavaScriptで2つのオブジェクトを結合して新しいオブジェクトを作成する方法

    JavaScriptでは、既存の複数のオブジェクトのプロパティを組み合わせて、まったく新しいオブジェクトを作りたい場面がよくあります。本記事では、元のオブジェクトには一切変更を加えずに、2つのオブジェクトのプロパティとメソッドを統合した新オブジェクトを生成する方法を解説します。 前提となるオブジェクト まず、次のように定義された2つのJavaScriptオブジェクトを用意します。 const a = { a: 1, af: function() { console.log(this.a) }, }; const b = { b: 2, bf: function(

  19. JavaScriptで2つのオブジェクトを結合(ユニオン)する方法

    JavaScriptでは、複数のオブジェクトの値をひとつにまとめたい場面がよくあります。例えば、次のようなオブジェクトがあったとします。 const obj1 = { name: , email: }; そして、もうひとつはこのようなオブジェクトです。 const obj2 = { name: [x], email: [y]}; ここで必要になるのは、これら2つのオブジェクトを受け取り、各キーの値を配列としてまとめた「ユニオン(和集合)」を返す関数です。期待する出力は以下のイメージです。 const output = { name: [ , [x]], email: [ , [y]] }

  20. 【JavaScript】mapとreduceを使って月ごとのキャッシュフローデータを結合する方法

    はじめにJavaScriptでは、複数の配列を組み合わせて新しいデータ構造を作り出す場面がよくあります。本記事では、「月の一覧」と「キャッシュフローの記録」の2つの配列から、すべての月を網羅した1つのオブジェクト配列を生成する方法を、実際のコード例とともに解説します。まず、次のような2つの配列を想定してみましょう。const months = [jan, feb, mar, apr]; const cashflows = [ {month:jan, value:10}, {month:mar, value:20} ];months 配列には月の名前が格納され、cashflows

Total 5937 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:45/297  20-コンピューター/Page Goto:1 39 40 41 42 43 44 45 46 47 48 49 50 51