JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptで2つの2進数(バイナリ)文字列を加算する方法

    本記事では、2つの2進数(バイナリ)文字列を受け取り、その合計を別の2進数文字列として返すJavaScript関数の実装方法を詳しく解説します。 問題の概要 例えば、次の2つの文字列が引数として渡された場合を考えてみましょう。 const str1 = 1010; const str2 = 1011; このとき、期待される出力は以下の通りです。 const output = 10101; これは10進数に直すと「10 + 11 = 21」に相当し、2進数では「1010 + 1011 = 10101」という計算になります。 アプローチのポイント 単純にparseInt()で数値へ

  2. JavaScriptで時間帯の重複(オーバーラップ)をチェックする方法

    時間帯の重複チェックとは JavaScriptでは、開始時刻と終了時刻のペアからなる「時間帯(インターバル)」の配列を受け取り、その中に重複している時間帯が存在するかどうかを判定する関数を実装することがよくあります。スケジュール管理や予約システムなどで役立つ典型的な処理です。 例として、次のような配列を考えてみましょう。各オブジェクトは start(開始時刻)と end(終了時刻)を持ちます。 const arr = [ { start: 01:00, end: 04:00 }, { start: 05:00, end: 08:00 }, { start: 07:00, end:

  3. JavaScriptで基準となる文字列配列の順序に従ってオブジェクトの配列を並べ替える方法

    JavaScriptでは、オブジェクトの配列を、別の文字列配列で定義された順序に従って並べ替えたいケースがあります。例えば、ステータスを持つ注文データの配列と、その表示順序を定義した文字列配列があった場合などです。問題の概要以下のような、オブジェクトの配列と文字列の配列が与えられたとします。const orders = [     { status: "pending"},     { status: "received" },     

  4. JavaScriptで別の配列をもとに月の範囲を配列から取得する方法

    ここでは、次のような文字列の配列が2つあると仮定します。1つ目の配列には、1年12か月それぞれに対応する文字列が格納されています。 const year = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec']; 2つ目の配列は、月の範囲を表す2つの文字列で構成されています。 const

  5. JavaScriptで配列の中に含まれる配列のインデックス位置を見つける方法

    たとえば、次のような「配列の配列」(ネストされた配列)があるとします。const arr = [     [1,0],     [0,1],     [0,0] ];ここで求められているのは、このような配列を第1引数として受け取り、ちょうど2つの数値からなる配列を第2引数として受け取るJavaScript関数を作成することです。作成する関数は、第2引数として渡された配列が元の配列の配列の中に存在するかどうかを判定し、存在すればそのインデックス位置を返す必要があります。アプロー

  6. JavaScriptで単一文字の2つの配列を比較して差分を返す方法

    本記事では、単一の文字が複数回出現する2つの文字列配列を比較し、その差分(異なる部分)を取得する方法を解説します。問題の概要例として、次のような2つの配列を考えます。const arr1 = [A, C, A, D]; const arr2 = [F, A, T, T];ここで求められているのは、両配列の同じインデックス位置にある文字同士を1つずつ照合し、一致しなかった要素だけを結果として返す処理です。ポイントは以下のとおりです。2つの配列のうち短い方の長さまでループして比較を行う位置ごとに値が異なる場合、両方の値を結果配列へ追加するどちらか一方が長い場合、余りの部分もすべて差分として含める実

  7. 【JavaScript】数字と英字が混在する配列を自然な順序でソートする方法

    英数字混在配列のソートとはまず、次のような英字と数字が混ざった文字列の配列を想定してみましょう。const arr = [A1, A10, A11, A12, A3A, A3B, A3, A4, B10, B2, F1, 1, 2, F3];この配列を唯一の引数として受け取り、元の配列自身(インプレース)を並べ替えるJavaScript関数を作成します。ソートのルールは以下のとおりです。数字だけで構成される文字列は先頭に集め、昇順で並べる。英字と数字が組み合わさった文字列は、まず英字の順に、同じ英字の場合は続く数字の昇順で並べる。つまり、期待される出力は次のようになります。const outp

  8. JavaScriptでオブジェクトのプロパティを基準に、オブジェクト配列内の一意な要素数を数える方法

    JavaScriptでオブジェクトの配列を扱う際、「特定のプロパティに一意な値がいくつ存在するか」を数えたいケースはよくあります。例えば、レストランの注文データを管理する次のようなオブジェクトの配列を考えてみましょう。const orders = [ {table_id: 3, food_id: 5}, {table_id: 4, food_id: 2}, {table_id: 1, food_id: 6}, {table_id: 3, food_id: 4}, {table_id: 4, food_id: 6}, ];この配列には5件の注文データが格納

  9. JavaScriptチャレンジ:3つのスコアの平均点から成績を判定する関数を作ってみよう

    今回は、引数として渡された3つのスコアの平均値を求め、その平均点に対応する成績(グレード)を返す関数をJavaScriptで作成する課題に取り組みます。 成績判定の基準 平均点と成績の対応関係は、以下の表のとおりです。 平均点成績 90〜100点A 80〜89点B 70〜79点C 60〜69点D 59点以下F 実装例 それでは、実際のコードを見てみましょう。 const findGrade = (...scores) => {    const {       length    } = scores;

  10. JavaScriptで配列の一部(指定範囲)だけをソートする方法

    JavaScriptでは、文字列の配列を第1引数として受け取り、さらに2つの数値をそれぞれ第2引数・第3引数として受け取る関数を作成する必要があります。この関数の目的は配列をソートすることですが、対象となるのは第2引数と第3引数で指定された開始インデックスから終了インデックスまでの範囲だけです。それ以外の要素はすべて元の順序のまま変更されません。たとえば、次のように呼び出します。const arr = [z, b, a]; sortBetween(arr, 0, 1);この場合、関数はインデックス0と1に位置する要素だけをソートします。その結果、配列は次のようになります。const outpu

  11. JavaScriptで文字列内の2つ以上の連続スペースを1つのスペースに変換する方法

    概要 HTMLの入力欄からユーザーが入力した文字列をJavaScriptで受け取り、その中に含まれる「2つ以上の連続した空白」を検出し、すべて1つのスペースに置き換えるプログラムを作成します。このような処理には正規表現を使うのが最もシンプルで確実な方法です。replace()メソッドの第1引数に正規表現 /\s{2}/g を指定することで、目的の結果を簡単に得られます。 使用する正規表現のポイント \s:半角スペース・タブ・改行などの空白文字にマッチします。 {2}:直前のパターンが2回以上連続する場合にマッチします。 g(グローバルフラグ):文字列内のすべての該当箇所を置換対象にします。

  12. JavaScriptで配列の減算を行う方法:2番目の配列に含まれる要素を最初の配列から削除する

    JavaScriptにおける配列の減算とはJavaScriptでは、2つの配列を受け取り、1つ目の配列から2つ目の配列にも含まれている要素をすべて取り除く「配列の減算(差分)」処理が必要になることがあります。例として、次のような2つのリテラル配列があるとします。const arr1 = [uno, dos, tres, cuatro];const arr2 = [dos, cuatro];このとき、1つ目の配列から2つ目の配列に含まれる要素(dos と cuatro)をすべて削除し、残りの要素だけを返す関数を作成する必要があります。期待される出力は以下のとおりです。const output =

  13. JavaScriptで配列内のオブジェクトを特定のプロパティでグループ化し、重複データを結合する方法

    例えば、データストレージデバイスに関する情報を格納した、次のようなオブジェクトの配列があるとします。const drives = [     {size:900GB, count:3},     {size:900GB, count:100},     {size:1200GB, count:5},     {size:900GB, count:1} ];このデータを見ると、「900GB」という同じサイズが複数回登場しています。ここで求

  14. JavaScriptで配列内のすべての要素が同じかどうかを確認する方法

    JavaScriptでは、配列に含まれるすべての要素が同じ値かどうかを確認したい場面があります。本記事では、リテラルの配列を受け取り、すべての値が同一であれば true、そうでなければ false を返す関数の実装方法を解説します。 実装例:sort()を活用したシンプルな方法 最もシンプルなアプローチは、配列をソートし、最初の要素と最後の要素を比較する方法です。すべての要素が同じ値であれば、ソート後も最初と最後の要素は必ず一致するはずです。 const arr1 = [1, 2, 3]; const arr2 = [1, 1, 1]; const checkIfSame = (arr

  15. JavaScriptでべき乗を計算する関数の実装方法|m^nを返す数学関数

    はじめに本記事では、2つの数値 m と n を引数として受け取り、m の n 乗(m^n)を計算して返す JavaScript 関数の実装方法を解説します。組み込みの Math.pow() を使わずに、再帰処理を活用した効率的なアルゴリズムで実装していきます。処理のイメージたとえば、m = 4、n = 3 の場合、以下のように計算されます。power(4, 3) = 4^3 = 4 × 4 × 4 = 64power(6, 3) = 216コード例以下が power() 関数の実装です。再帰呼び出しを用いることで、簡潔かつ高速にべき乗を求められます。const power = (m, n) =

  16. 合計が最大となる部分配列を見つけるJavaScript関数の実装方法

    正の数と負の数が混在する数値配列を引数として受け取るJavaScript関数を作成することを考えます。この関数の目的は、配列の中から任意の長さの部分配列(連続する要素の集まり)を抜き出し、その要素を合計したときに最大となるものを見つけることです。そして、見つかった部分配列の合計値を返します。 例 入力配列が次の通りだとします。 const arr = [-2,1,-3,4,-1,2,1,-5,4]; このとき期待される出力は以下の通りです。 const output = 6; [4, -1, 2, 1] を選んだ場合の合計が 6 となり、これが取り得る最大値だからです。 解法:カダ

  17. 【JavaScript】スタックで最長の有効な括弧部分文字列の長さを求める方法

    ( と ) の2種類の文字だけで構成された文字列が与えられたとき、その中に含まれる最長の有効な(正しく対応した)括弧部分文字列の長さを求める方法を、JavaScriptで解説します。 整形式の括弧列とは? 括弧の並びが「整形式(well-formed)」であるためには、すべての開き括弧に対して、それに対応する閉じ括弧が存在しなければなりません。具体例で確認してみましょう。 (())() は整形式の括弧列 ()) は整形式ではない ()()() は整形式の括弧列 解き方:スタックを活用する この問題はスタック(Stack)を使うことで効率的に解けます。手順は以下のとおりです。 文字列を1文字ず

  18. 自然数列のn番目の数字を求めるJavaScript関数の実装方法

    数学において、自然数とは1から始まり無限に続く数のことを指します。 最初の15個の自然数は以下のとおりです。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 この数列を先頭から1文字ずつ拾っていくと、1番目の数字は「1」、2番目は「2」、3番目は「3」……と続きます。ところが9を超えたあたりで挙動が変わります。10番目の数字は「10」の1桁目である「1」になり、11番目の数字はその次の「0」になるのです。 つまり本記事の課題は、数値 n を受け取り、このように並べた自然数列の n番目の数字 を見つけて返すJavaScript関数を作成することです。 コード例 cons

  19. 【JavaScript】2つの文字列を比較して追加された1文字を見つける方法

    プログラミングでは、2つの文字列 s と t が与えられる問題によく出会います。ここで文字列 t は、文字列 s をランダムにシャッフルした後、ランダムな位置にさらに1文字を追加して生成されたものです。 この記事では、両方の文字列を受け取り、t に追加されたその1文字を返すJavaScript関数の実装方法を解説します。 問題の例 たとえば、入力される文字列が次の場合を考えてみましょう。 const s = "abcd", t = "abcde"; このとき、期待される出力は次のとおりです。 const output = "e"; こ

  20. JavaScriptで最大周囲長となる三角形の3辺を選択する方法

    問題の概要 三角形の周囲長とは、三角形の3つの辺の長さをすべて合計した値のことです。ここで扱うのは、少なくとも3つ以上の要素を含む数値配列を引数として受け取るJavaScript関数の実装です。 この関数は、配列の中から3つの辺(数値)を選び、それらを合計したときに最大の周囲長となる組み合わせを返します。ただし、単純に大きい数値を3つ選べばよいわけではなく、選んだ3辺が現実に成立する有効な三角形を形成できることを確認する必要があります。もし配列内に有効な三角形を構成できる3辺がひとつも存在しない場合は、0 を返します。 有効な三角形の条件(三角不等式) 「有効な三角形」とは、任意の2辺の和が

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