JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptで配列内の各数値の末尾n桁だけを取り出す方法

    次のように、数値リテラルからなる配列があるとします。const arr = [56768, 5465, 5467, 3, 878, 878, 34435, 78799];ここで必要なのは、この配列と数値 n を受け取るJavaScript関数を作成することです。各要素が n 桁以上の数値である場合は、新しい要素として末尾の n 桁のみを含め、n 桁未満の要素は元の値のまま残します。たとえば n = 2 の場合、上記の配列に対する出力は次のようになります。const output = [68, 65, 67, 3, 78, 78, 35, 99];サンプルコード以下が実際のコードです。const

  2. JavaScriptで配列を「1つの要素」と「残りの積」に等しく分割できるか判定する方法

    問題の概要今回は、次のような条件を満たすかどうかを判定する関数をJavaScriptで作成します。配列を「1つの要素」と「それ以外の要素」に分割したとき、その1つの要素の値が、自分自身を除く他のすべての要素の積と一致する場合は true を返し、一致しない場合は false を返します。具体例たとえば、次のような配列が与えられたとします。const arr = [1, 56, 2, 4, 7];この場合の出力は true になります。なぜなら、最大値である 56 は、それ以外の要素の積と等しいからです。2 * 4 * 7 * 1 = 56実装のアイデアこの問題は、配列全体を一度だけ走査すれば解

  3. 数値のムーンサム(月の和)を求める方法 – JavaScript

    ムーンサムとは?「ムーンサム(Lunar Sum、月の和)」とは、2つの数値の合計を計算する際に、通常のように対応する桁同士を足し合わせるのではなく、各桁を比較してより大きい方の数字を採用するという特殊な計算方法です。例を見てみましょう。a = 879 と b = 768(この問題では、両方の数値が同じ桁数であるものとします。)この場合、a と b のムーンサムは次のようになります。879これは、各桁を比較すると「8 > 7」「7 > 6」「9 > 8」となり、それぞれ大きい方の数字が採用されるためです。JavaScriptでの実装ここでは、2つの数値を受け取ってそのムーンサ

  4. JavaScriptで文章の平均単語長を求める方法

    今回は、空白文字で区切られた複数の単語を含む文字列を受け取り、その中に含まれるすべての単語の平均文字数(平均単語長)を算出し、小数点以下2桁に丸めて返すJavaScript関数を作成します。 アプローチ この問題は次の手順で解決できます。 文字列全体の長さを取得する 文字列をスペースで分割して単語数を数える 文字列全体の長さからスペースの数を差し引き、単語の総文字数を求める 総文字数を単語数で割って平均値を計算し、toFixed()メソッドで小数点以下2桁に丸める コード例 以下が実際の実装コードです。 {     if(!str.includes

  5. JavaScriptでポーカーのフルハウスを判定する方法

    フルハウスとは?ポーカーにおける「フルハウス」とは、プレイヤーの5枚の手札の中に、同じランクのカードが3枚以上含まれている状態を指します。本記事では、各要素が1枚のカードを表す5つの要素を持つ配列を受け取り、フルハウスが成立していれば true を、そうでなければ false を返すJavaScript関数を作成します。アルゴリズムの考え方この問題は以下の手順で解決できます。元の配列のコピーを作成し、元の配列はそのまま保持します。先頭から順にカードを1枚取り出し、残りのカードの中に同じランクが存在するかどうかを確認します。同じランクが存在する場合は、さらに1枚取り除きます。その後もなお同じラン

  6. JavaScriptで文字列の各文字をインデックス配列を持つオブジェクトにマッピングする方法

    問題の概要文字列が与えられたとき、各文字の出現位置(インデックス)を配列として格納したオブジェクトを作成する関数を実装します。文字列の各文字(要素)がオブジェクトのキーとなり、その文字が出現したインデックスをまとめた配列が値になります。期待される出力例えば、入力文字列が以下の場合:const str = cannot;出力は次のようなオブジェクトになります。const output = { c: [0], a: [1], n: [2, 3], o: [4], t: [5] };実装コード以下が実際の実装コードです。 { const map = {

  7. JavaScriptで文字列のプロトタイプに大小文字を入れ替える関数を追加する方法

    JavaScriptでは、独自のカスタム関数を定義し、既存の標準データ型(プリミティブ型)に追加することができます。これはライブラリメソッドを作成するのに似ていますが、対象がユーザー定義型ではなく組み込みのデータ型である点が特徴です。ここでは、String.prototype に対して swapCase() という名前の文字列関数を追加してみましょう。この関数は新しい文字列を返します。元の文字列に含まれるすべての大文字は小文字へ、小文字は大文字へと入れ替えられます。数字や記号などのアルファベット以外の文字は、そのまま保持されます。コード例以下が実際のコードです。const str = ThIS

  8. JavaScriptで2つの文字列の共通要素を検索する方法

    本記事では、共通要素を含む(または含まない)2つの文字列を引数として受け取り、共通要素が存在しない場合は空文字列を、存在する場合はすべての共通要素を含む文字列を返すJavaScript関数の作成方法を解説します。例として、次の2つの文字列を使用します。const str1 = Hey There!!, how are you; const str2 = Can this be a special string;コード例以下が実際のコードです。const str1 = Hey There!!, how are you; const str2 = Can this be a special str

  9. JavaScriptで文字列内の2文字間の距離を求める方法

    はじめにJavaScriptでは、文字列内に存在する2つの特定の文字が互いにどれだけ離れているか(距離)を、数行のコードで簡単に計算できます。この記事では、第一引数に対象の文字列を、第二引数と第三引数にそれぞれ1文字ずつ受け取り、それら2つの文字間の距離を返す関数の作成方法を解説します。問題の概要たとえば、次のような3つの文字列が与えられたとします。const str = Disaster management; const a = i, b = t;この場合、期待される出力は 4 になります。文字「i」と「t」の間の距離(インデックスの差)が4だからです。サンプルコード以下がその実装例です。

  10. 【JavaScript】基準配列(標準配列)の値の順序に従って配列を並べ替える方法

    JavaScriptでは、動的な配列を、あらかじめ定義しておいた「基準(標準)配列」に格納されている値の順序に従って並べ替えたいケースがあります。前提となるデータたとえば、次のような動的な配列があるとします。const dbArray = [Apple,Banana,Mango,Apple,Mango,Mango,Apple];そして、並べ替えの基準となる標準配列は次のとおりです。const stdArray = [Mango,Apple,Banana,Grapes];この場合、dbArray を stdArray の順序に従って並べ替えた結果は、次のようになります。const resultA

  11. ([] == false)がtrueなのに、([] || true)は[]を返すのはなぜ?JavaScriptの型変換の仕組みを解説

    一見よく似たこの2つの式ですが、その挙動の違いは以下のポイントにあります。 ([] == false) … 緩い等価比較(loose equality)を使用しているため、型強制(type coercion)が行われます。 ([] || true) … 左辺の [] を真偽値(truthy / falsy)として評価するため、内部では型強制ではなく Boolean() 関数が使われます。 それでは、それぞれのケースで裏側でどのような変換が行われているのかを詳しく見ていきましょう。 ケース1:([] == false) の場合 ― 緩い等価比較による型強制 MDNのドキュメントによると、異

  12. JavaScriptでパンデジタル数(0〜9をすべて含む数)を判定する方法

    パンデジタル数とは? パンデジタル数(pandigital number)とは、0から9までのすべての数字が少なくとも1回ずつ含まれている数のことです。本記事では、数値を表す文字列を引数として受け取り、その文字列がパンデジタル数であれば true、そうでなければ false を返すJavaScript関数の実装方法を解説します。 実装のアプローチ 判定の考え方はシンプルです。まず0〜9の数字をすべて格納した配列を用意し、入力文字列に含まれる数字を見つけるたびに、配列から該当要素を削除していきます。文字列の走査が完了した時点で配列が空になっていれば、すべての数字が含まれていたことになり、その文字

  13. JavaScriptで温度変換を実装する方法|摂氏・華氏の相互変換

    温度変換関数とは本記事では、摂氏(C)または華氏(F)の温度を表す文字列を受け取り、それぞれ反対の単位へ変換するJavaScript関数を作成します。入力として渡される文字列は、次のような形式です。23F, 43C, 23F関数は文字列の末尾にある単位記号(C または F)を判別し、以下の変換式に基づいて計算を行います。摂氏 → 華氏: F = C × 9 ÷ 5 + 32華氏 → 摂氏: C = (F − 32) × 5 ÷ 9サンプルコード実際のコードは次のとおりです。const temp1 = 37C; const temp2 = 100F; const tempConverter =

  14. 【JavaScript】文字数が素数の単語だけを逆順にする方法

    本記事では、空白で区切られた複数の単語からなる文字列を受け取り、文字数が素数になっている単語だけを反転した新しい文字列を返すJavaScript関数の作り方を解説します。 問題の概要 たとえば「His father is an engineer by profession」という文字列の場合、「His」(3文字)、「is」(2文字)、「an」(2文字)、「by」(2文字)のように文字数が2・3・5・7・11などの素数である単語は逆順にし、それ以外の単語(6文字の「father」や8文字の「engineer」など)はそのまま残します。 実装のアプローチ 処理の流れは次のとおりです。 split

  15. JavaScriptで真分数を帯分数に変換する方法

    真分数とは真分数とは、p/q の形(p と q はどちらも自然数)で表される分数のことで、分子が分母よりも小さい分数を指します。帯分数とは分数 a/b の分子 a を分母 b で割ると、商 q と余り r が求まります。このとき、分数 a/b を帯分数で表すと次のようになります。q r/bこれは「q と b 分の r」と読みます。たとえば 43/13 の場合、43 ÷ 13 の商は 3、余りは 4 となるため、帯分数では「3 と 13 分の 4」と表せます。今回作成するのは、真分数を表す 2 つの数値からなる配列を受け取り、その帯分数を表す 3 つの数値からなる配列を返す JavaScript

  16. JavaScriptで優先度付きソートを実装する方法

    本記事では、JavaScriptを使って「優先度付きソート」を実装する方法を解説します。具体的には、2つの数値配列を受け取り、1つ目の配列を昇順に並べ替えながら、2つ目の配列にも含まれている要素をすべて配列の先頭に配置する関数を作成します。 要件の整理 今回実装する関数に求められる仕様は以下のとおりです。 2つの数値の配列を受け取る(2つ目の配列は1つ目よりもサイズが小さい) 1つ目の配列を昇順にソートする ただし、両方の配列に共通して存在する要素は、すべて先頭に移動する 入力例と出力例 たとえば、次のような2つの配列が与えられたとします。 const arr1 = [5, 4, 3, 2

  17. JavaScriptで2つの文字列の誤り(不一致)の数を数える方法

    本記事では、2つの文字列を引数として受け取るJavaScript関数の作成方法を解説します。1つ目の文字列にはタイプミスが含まれており、2つ目の文字列はその正しい版とします。なお、引数として渡される2つの文字列は常に同じ長さであると仮定できるものとします。この関数の目的は、1つ目の文字列に存在する誤り(正しい文字列と一致しない文字)の数を返すことです。実装の考え方両方の文字列の長さが同じであるため、インデックスを0から順に走査し、同じ位置にある文字同士を比較します。一致しない場合はカウンターを増やし、最後にそのカウンターの値を返すだけで実装できます。コード例以下が実際のコードです。 { &nb

  18. JavaScriptで文字列の度数分布(出現回数)を求める方法

    はじめにこの記事では、JavaScriptを使って文字列に含まれる各文字の出現回数(度数分布)を計算し、その結果をオブジェクトとして返す関数の作り方を解説します。たとえば、次のような文字列が与えられたとします。const str = This string will be used to calculate frequency distribution;この文字列から「どの文字が何回出現したか」を表すオブジェクトを作成するのが目的です。度数分布はテキスト解析やデータ分析の基礎となる処理で、頻出文字の把握などに活用できます。実装コード以下は、forループを使って各文字の出現回数をカウントするシン

  19. 条件に応じてPromiseを解決・拒否する関数の実装方法【JavaScript】

    JavaScriptでは、ネットワークリクエストのような非同期処理を模倣した関数を実装したい場面があります。そのようなケースでは、指定した時間が経過した後にタスクを実行できるsetTimeout()関数が便利です。本記事では、リクエストが成功すればPromiseを解決(resolve)し、失敗すれば拒否(reject)する関数の実装方法を、具体的なコード例とともに解説します。実装例以下のコードでは、2つの数値の合計が期待値と一致するかどうかを判定し、その結果に応じてPromiseを解決または拒否しています。const num1 = 45, num2 = 48; const res = 93;

  20. JavaScriptで配列から素数を除外する方法|filter()を使った実装例

    本記事では、数値の配列を受け取り、素数を除外した新しい配列を返すJavaScript関数の実装方法を解説します。Array.prototype.filter()メソッドと素数判定用の補助関数を組み合わせることで、シンプルかつ読みやすいコードが実現できます。const arr = [34, 56, 3, 56, 4, 343, 68, 56, 34, 87, 8, 45, 34];素数判定関数isPrimeの作成まず、引数として受け取った数値が素数かどうかを判定する関数isPrimeを定義します。素数とは、1とその数自身以外に正の約数を持たない、1より大きい自然数のことです(例:2, 3, 5,

Total 5937 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:91/297  20-コンピューター/Page Goto:1 85 86 87 88 89 90 91 92 93 94 95 96 97