JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptで分数の合計を求める方法【小数に変換せず計算】

    次のような、配列の中に配列が入ったネスト構造のデータがあるとします。const arr = [[12, 56], [3, 45], [23, 2], [2, 6], [2, 8]];外側の配列には任意の数の要素を含めることができますが、それぞれのサブ配列は必ず2つの数値を持つ必要があります。各サブ配列の2つの数値は、1つの分数を表します。たとえば、最初のサブ配列 [12, 56] は「12/56」、2番目のサブ配列 [3, 45] は「3/45」という分数に対応します。要件今回作成するのは、このような配列を受け取り、すべてのサブ配列が表す分数の合計を計算するJavaScript関数です。条件は

  2. JavaScriptで文字列の中和結果を計算する方法

    文字列の中和とは 本記事では、「+」と「-」のみで構成された文字列を受け取り、全体の中和結果として「+」または「-」を返すJavaScript関数の実装方法を解説します。 中和の基本ルールは以下の通りです。 ++ → + -- → + +- または -+ → - つまり、同じ記号同士の組み合わせは「+」となり、異なる記号が組み合わさると「-」になります。これは電荷の中和の考え方に似ています。 対象となる文字列 例として、次の文字列を使用します。 const str = ++-+-++---+-+--+-; 実装例 以下が実際のコードです。split()で文字列を1文字ずつの配列に変換し

  3. 【JavaScript】指定した文字で始まる単語だけを反転させる方法

    本記事では、文章の文字列と1文字を受け取り、その文字で始まるすべての単語を反転させるJavaScript関数の実装方法を解説します。課題の内容たとえば、次のような文字列があったとします。const str = hello world, how are you;ここで対象となる文字として「h」を指定します。この場合、期待される出力は次のとおりです。const output = olleh world, woh are you;つまり、「h」で始まる単語(hello と how)だけを逆順にし、それ以外の単語はそのままの形で残すという処理を行います。実装コード以下が実際のコード例です。const

  4. JavaScriptで文字数が奇数の単語のみを反転させる方法

    本記事では、文字列を受け取り、その中から文字数が奇数の単語だけを反転させて返すJavaScript関数の作成方法を解説します。 「単語」の定義 ここでいう「単語」とは、文字列内の部分文字列のうち、以下のいずれかの条件を満たすものを指します。 両側がスペースに挟まれている 文頭または文末に位置し、かつ内側がスペースに隣接している 入力例 たとえば、次のような文字列を考えてみます。 const str = hello beautiful people; このうち、文字数が奇数の単語は次の2つです。 hello(5文字) beautiful(9文字) 一方、3番目の単語 people は6文字の

  5. JavaScriptで2つの文字列の不一致箇所(相違点)を数える方法

    この記事では、2つの文字列を受け取り、対応する位置の文字がどれだけ異なっているか(不一致の数)を求めるJavaScript関数の作り方を解説します。問題の概要2つの文字列を先頭から1文字ずつ比較し、同じ位置にある文字同士が一致しない場合に「相違点」としてカウントします。つまり、対応する要素が等しくない場合のみ不一致とみなします。例として、次の2つの文字列を使います。const str1 = Hello world!!!; const str2 = Hellp world111;この2つの文字列を比較すると、「o」と「p」の違い1箇所と、末尾の「!!!」と「111」の違い3箇所を合わせて、合計4

  6. 【JavaScript】文字列内で最初に重複した文字のインデックスを返す方法

    今回は、文字列を引数として受け取り、その中で最初に2回出現する文字(繰り返し文字)のインデックスを返すJavaScript関数を作成します。該当する文字が存在しない場合は -1 を返します。処理の流れ実装のポイントは次のとおりです。各文字とそのインデックスを Map オブジェクトに記録していきます。ループ処理の中ですでに Map に登録済みの文字が出現した場合、その文字の最初の出現位置(インデックス)を即座に返します。最後まで重複する文字が見つからなければ -1 を返します。対象となる文字列今回使用する文字列は以下のとおりです。const str = Hello world, how are

  7. 【JavaScript】文字列をスネークケースに変換する方法をわかりやすく解説

    スネークケース(snake case)とは、文字列内のスペースをアンダースコア「_」に置き換え、各単語の頭文字を小文字にして記述する命名スタイルのことです。例えば「This is a simple sentence」という文は、スネークケースでは「this_is_a_simple_sentence」のようになります。この記事では、文字列を受け取ってスネークケースに変換するJavaScript関数の実装方法を紹介します。スネークケース変換のコード例以下が実際のコードです。文字列をスペースで分割し、各単語を小文字化したうえで、アンダースコアで結合しています。 { return ac

  8. JavaScriptで有効な三角形かどうかを判定する方法

    長さがそれぞれ l、m、n の3本の線分があるとしましょう。この3本の線分が三角形を形成できるのは、「任意の2辺の和が残りの1辺より大きい」という条件を満たす場合のみです。例えば、3本の線分の長さが 4、9、3 だった場合、4 + 3 は 9 より小さいため、これらの線分から三角形を形成することはできません。本記事では、3つの数値(=3辺の長さ)を受け取り、それらが三角形を形成できるかどうかを判定する JavaScript 関数を作成していきます。三角形の成立条件三角形が成立するためには、以下の3つの条件をすべて満たす必要があります。 c(2辺 a と b の和が c より大きい) a(2辺

  9. 文字列内の各文字から最も近い母音までの距離を求める方法(JavaScript)

    JavaScriptで、少なくとも1つの母音(a・e・i・o・u)を含む文字列を受け取る関数を作成することを考えてみましょう。この関数は、文字列内の各文字ごとに、最も近い母音までの距離を数値として対応付けた配列を返す必要があります。 問題の例 たとえば、次のような文字列が入力されたとします。 const str = vatghvf; この場合、期待される出力は次のようになります。 const output = [1, 0, 1, 2, 3, 4, 5]; 出力の意味を見てみましょう。インデックス1の「a」は母音そのものなので距離は0。先頭の「v」は「a」まで1文字離れているため1。3番目以降の

  10. JavaScriptでn個の抵抗器の合成抵抗を計算する方法

    物理学において、直列に接続された抵抗器(たとえば3個)の合成抵抗 R は、各抵抗値の単純な合計として次のように表されます。R = R1 + R2 + R3一方、並列接続された抵抗器の合成抵抗は、各抵抗の逆数の和として求められます。1/R = 1/R1 + 1/R2 + 1/R3したがって、合成抵抗そのものは次の式で計算できます。R = 1 / ((1/R1) + (1/R2) + (1/R3))そこで本記事では、series(直列)または parallel(並列)という文字列と、任意の個数の抵抗値を受け取り、それらの合成抵抗を返すJavaScript関数を作成します。コード例以下がこの関数の実

  11. JavaScriptで再帰を使って数値の最大の桁を求める方法

    本記事では、数値を受け取り、その中で最も大きい桁の数字を返すJavaScriptの再帰関数の実装方法を解説します。例えば、次のような数値が与えられた場合を考えてみましょう。45654356この場合、戻り値として 6 が返されることが期待されます。実装コード以下が実際のコード例です。const num = 45654356; const greatestDigit = (num = 0, greatest = 0) => {     if(num){         co

  12. 配列の先頭n要素だけを部分的に反転する方法 – JavaScript

    次のような配列リテラルがあるとします。 const arr = [3, 5, 5, 2, 23, 4, 7, 8, 8, 9]; ここでの課題は、このような配列と数値 n(n は配列の長さ以下である必要があります)を受け取り、配列の先頭 n 個の要素だけを反転させる JavaScript 関数を作成することです。 たとえば、上記の配列に対して数値が 4 の場合 − const arr = [3, 5, 5, 2, 23, 4, 7, 8, 8, 9]; 期待される出力は次のようになります。 const output = [2, 5, 5, 3, 23, 4, 7, 8, 8, 9]; 先頭の

  13. 【JavaScript】配列内の基準値より大きい・小さい要素の数を数える方法

    問題の概要 まず、次のようなリテラルの配列があると仮定しましょう。 const arr = [3, 5, 5, 2, 23, 4, 7, 8, 8, 9]; この配列と任意の数値 n を引数として受け取り、「n より大きい要素」および「n より小さい要素」それぞれの出現回数をオブジェクトとして返すJavaScript関数を作成する必要があります。 解決方法:reduce() メソッドを使った実装 配列の reduce() メソッドを利用すれば、ループ処理を行いながらカウントを累積的に集計できます。初期値として { greater: 0, smaller: 0 } というオブジェクトを用意し、各

  14. JavaScriptで整然数(Tidy Number)を判定する方法

    整然数(Tidy Number)とは?整然数とは、各桁の数字が左から右へ向かって非減少順(前の桁より小さくなることがない並び)になっている数のことを指します。本記事では、与えられた数値が整然数かどうかを判定するJavaScript関数の実装方法を解説します。整然数の例489 …… 4 ≤ 8 ≤ 9 なので整然数 234557 …… 2 ≤ 3 ≤ 4 ≤ 5 ≤ 5 ≤ 7 なので整然数 34535 …… 途中で 5 の次に 3 が来るため整然数ではない判定アルゴリズムの考え方判定方法はシンプルです。数値を下の桁から順に取り出し、隣り合う桁どうしを比較していきます。もし前の桁より大きな数字が

  15. JavaScriptで指定した数の倍数の配列を生成する方法

    倍数の配列を生成するJavaScript関数の作成今回は、2つの数値 m と n を引数として受け取り、m の倍数のうち最初の n 個を配列として返すJavaScript関数を作成する必要があります。たとえば、引数として 4 と 6 が渡された場合、出力は次のようになります。const output = [4, 8, 12, 16, 20, 24]つまり、4の倍数を小さい順に6個並べた配列を返すことになります。実装の考え方この問題はシンプルなループ処理で解決できます。開始値を m とし、ループごとに m ずつ値を増やしながら、m × n に達するまで配列に値を追加していきます。サンプルコード以

  16. JavaScriptで可変個の配列を1つに連結する方法

    本記事では、任意の個数の配列を受け取り、それらすべての要素を連結した1つの配列を返すJavaScript関数の実装方法を解説します。やりたいことたとえば、以下のような複数の配列が入力として与えられた場合を考えてみましょう。[1, 5], [44, 67, 3], [2, 5], [7], [4], [3, 7], [6]この場合、期待される出力は次のとおりです。const output = [1, 5, 44, 67, 3, 2, 5, 7, 4, 3, 7, 6];実装コードレストパラメータとreduce()、concat()を組み合わせることで、簡潔に実装できます。以下がそのコードです。c

  17. 【JavaScript】大文字だけを先頭に移動する方法|相対的な順序はそのまま維持

    今回は、大文字と小文字が混在した文字列を受け取り、すべての大文字を文字列の先頭へ移動した結果を返すJavaScript関数を作成します。ポイントは、単に大文字を前に集めるだけでなく、元の文字同士の相対的な順序を崩さないことです。処理のイメージたとえば、入力文字列が次のようになっているとします。const str = heLLO woRlD;この場合、期待される出力は以下のとおりです。const output = LLORDhe wol;ご覧のとおり、「L・L・O・R・D」という大文字の並び順、および「h・e・o・w・l」という小文字の並び順は、それぞれ元の文字列内での登場順序が保たれています。

  18. JavaScriptで特別な配列(スペシャル配列)かどうかを判定する方法

    特別な配列とは?ある配列が「特別な配列」とみなされるのは、次の2つの条件を満たす場合です。奇数番目のインデックス(1, 3, 5…)に配置されている要素は、すべて奇数である偶数番目のインデックス(0, 2, 4…)に配置されている要素は、すべて偶数である本記事では、配列を引数として受け取り、その配列が特別な配列かどうかを判定するJavaScript関数を作成します。実装コード以下がその実装例です。 {     for(let i = 0; i < arr.length; i++){      &nb

  19. JavaScriptで数値文字列の先頭と末尾の0を削除する方法

    本記事では、数値を表す文字列を受け取り、先頭と末尾にあるすべての「0」を削除した新しい数値文字列を返すJavaScript関数の作成方法を解説します。 要件の確認 例えば、入力が以下の文字列だった場合: const strNum = 054954000; 期待される出力は次のとおりです: const output = 54954; このように、先頭の「05」と末尾の「000」が取り除かれ、中央の有効な数字だけが残ります。 実装コード 以下が実際のコードです: const strNum = 054954000; const removeZero = (str = ) => { &nbs

  20. JavaScriptの高階関数(HOC)を使って2つの数値の積を計算する方法

    高階関数(HOC)とは?JavaScriptにおける高階関数(Higher Order Function:HOC)とは、別の関数を引数として受け取ったり、戻り値として関数を返したりする(あるいはその両方を行う)特別な種類の関数のことです。クロージャと組み合わせることで、JavaScriptにおいて非常に強力なツールとなります。この記事では、「2つの数値の積」を求めることができる高階関数を、JavaScriptで実際に実装する方法を解説します。実装例以下がそのサンプルコードです。const num1 = 24; const num2 = 5; const productHOC = num1 =&

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