JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptで2次元配列の要素を交互に加減算して合計を求める方法

    問題の概要行数と列数が同じ m × n の2次元配列(数値の行列)を受け取り、次の式で表される合計値を計算して返すJavaScript関数を作成します。$\sum_{i=1}^m \sum_{j=1}^n (-1)^{i+j}a_{ij}$この式が意味するのは、各要素に対して「インデックス i + j の偶奇」に応じて符号を切り替えるということです。具体的には、(i + j) が偶数である要素は正の符号で加算し、奇数である要素は負の符号で減算します。チェス盤のように市松模様状にプラスとマイナスが交互に並ぶイメージです。計算イメージ0始まりのインデックスで考えると、左上の要素 (0, 0) は

  2. JavaScriptでスペース区切りの文字列内の数値を合計する方法

    問題スペースで区切られた整数を含む文字列を受け取り、その中の各整数を数値に変換したうえで、合計値を返すJavaScript関数を作成する必要があります。解決のアプローチ基本的な処理の流れは次の3ステップです。split( ) メソッドで、文字列をスペースを基準に配列へ分割するmap(Number) で、配列の各要素を数値へ変換するreduce() を使って、配列内のすべての数値を合計するコード例以下が実際のコードです。const str = 1 5 12 76 2; { { acc + val);        r

  3. JavaScriptで配列内の唯一の異なる文字列を見つける方法

    問題 文字列の配列を受け取るJavaScript関数を作成する必要があります。配列内のすべての文字列は同じ文字(またはその並べ替え)で構成されていますが、ただ1つの文字列だけが異なる文字セットを含んでいます。この関数の目的は、その唯一の文字列を見つけ出して返すことです。 例: 次のような配列が与えられたとします。 [ba, abc, acb, bac, foo, bca, cab, cba] この場合、求めるべき文字列は「foo」です。 文字列には空白が含まれることがありますが、空白自体は意味を持たず、空白以外の記号のみが判定の対象となります。たとえば、空白だけで構成された文字列は空文字列と

  4. JavaScriptで数値配列の移動平均をリアルタイムに計算する方法

    問題 数値の配列を受け取り、各位置における「それまでの要素の累積平均(移動平均)」を格納した新しい配列を構築するJavaScript関数を作成する必要があります。たとえば、次のようになります。 [1, 2, 3, 4, 5] → [1, 1.5, 2, 2.5, 3] 最初の要素は最初の要素単体の平均、2番目の要素は先頭2つの要素の平均、3番目は先頭3つの要素の平均、というように順番に計算していきます。 コード例 以下が実際の実装コードです。 const arr = [1, 2, 3, 4, 5]; const movingAverage = (arr = []) => {

  5. JavaScriptで数値と文字数が一致する文字列を検証する方法

    問題文字列 str を引数として受け取るJavaScript関数を作成することを考えます。この関数は、文字列内の英字部分を、その直前にある数字に基づいて検証する必要があります。具体的には、文字列を数字で分割し、各数字とそれに続く部分文字列の文字数を比較します。すべての組み合わせが一致していれば、その文字列は有効であるとして true を返し、一箇所でも不一致があれば false を返します。例えば、以下のような文字列を見てみましょう。5hello4from2meこの文字列に対しては、true を返す必要があります。なぜなら、数字で分割すると「hello」「from」「me」という3つの部分文字

  6. JavaScriptで数値の小数部分のみを取得する方法

    JavaScriptでは、数値から小数点以下の部分だけを取り出したい場面があります。本記事では、数値を文字列として処理し、小数部分を正確に抽出して返す関数の実装方法を解説します。 問題の概要 数値を受け取るJavaScript関数を作成します。この関数は、引数として渡された数値のうち、小数点(.)より後ろの部分だけを取り出し、数値として返す必要があります。 実装例 以下がそのコードです。 const num = 435.43436; const retrieveDecimalPart = (num = 1) => { const str = String(num); le

  7. JavaScriptで配列の要素をすべて奇数に変換する方法

    問題 配列を受け取り、その各要素を次のルールに従って変換するJavaScript関数を作成することを考えます。 数値が奇数の場合 → そのままの値を保持する 数値が偶数の場合 → 1を引いて奇数に変換する そして最後に、変換後の新しい配列を返します。 コード例 以下が実際のコードです。 const arr = [5, 23, 6, 3, 66, 12, 8]; const reduceToOdd = (arr = []) => {     const res = [];     for(let i =

  8. JavaScriptで指定された周囲長を持つすべての直角三角形を求める方法

    問題 数値を1つ受け取り、その値を周囲長(3辺の長さの合計)とするすべての直角三角形の辺の組み合わせを、配列として返すJavaScript関数を作成します。 直角三角形の成立条件 3辺を a・b・c(c を最も長い辺=斜辺とする)としたとき、直角三角形であるためにはピタゴラスの定理「a² + b² = c²」を満たす必要があります。加えて、「a + b + c = 指定された周囲長」という条件も同時に成立しなければなりません。 コード例 以下が実際のコードです。 const perimeter = 120; const findAllRightTriangles = (perimete

  9. 【JavaScript】10進数を切り上げる関数を自作する方法|Math.ceil相当の実装を解説

    JavaScriptでは、Mathオブジェクトに標準で用意されているMath.ceil()メソッドを使うことで、小数を簡単に切り上げることができます。本記事では、このceil相当の機能を持つ関数を自分で実装する方法を、コード例とともにわかりやすく解説します。 課題 私たちが作成するのは、JavaScriptのMathクラスに属するような関数です。 この関数は、呼び出された10進数(小数)に対して、それ以上で最も近い整数、つまり「切り上げた値」を返す必要があります。 また、渡された数値がすでに整数である場合は、その値をそのまま返す仕様とします。 解決のアプローチ この問題は、次の手順で解

  10. 【JavaScript】スペース区切りの数字文字列から仲間はずれの偶数・奇数を見つける方法

    問題 スペースで区切られた数字を含む文字列を引数として受け取り、その中から「仲間はずれ」の数字を返すJavaScript関数を作成します。 入力される文字列には、すべて奇数の中に偶数が1つだけ含まれているか、あるいはすべて偶数の中に奇数が1つだけ含まれているという特徴があります。関数の目的は、その唯一の異なる数字を見つけ出して返すことです。 サンプルコード 以下が実装例です。 { if(num % 2 === 0){ evens.push(num); }else{ odds.push(num);

  11. 【JavaScript】小文字のアルファベット文字列の1始まりインデックススコアを求める方法

    問題概要小文字のアルファベットのみで構成された文字列を受け取り、その文字列全体の「インデックススコア」を計算して返すJavaScript関数を作成する必要があります。ここでいうインデックスとは、アルファベットにおける各文字の位置のことです。「a」が1、「b」が2、「c」が3…というように対応し、最後の「z」は26となります。関数は文字列内のすべての文字のインデックス値を合計し、その結果を返すものとします。具体例例えば「abc」という文字列の場合、1 + 2 + 3 = 6 がスコアになります。実装コード以下が実際のコードです。const str = lowercasestring; const

  12. 【JavaScript】配列で指定されたビット位置だけが1になる32ビット整数を返す関数の実装方法

    問題 一意な非負整数からなる配列を受け取り、特定の32ビット整数を返すJavaScript関数を作成することを考えます。 戻り値となる整数は、2進数(バイナリ)表現にしたとき、右端から数えて配列に含まれる値と一致するビット位置だけが1になり、それ以外のビットはすべて0である必要があります。 たとえば入力が [1, 2, 0, 4] の場合、右から0番目・1番目・2番目・4番目のビットが1になるため、2進数では 10111 となります。これを10進数に変換すると 23 です。 コード例 以下が実装の一例です。 const arr = [1, 2, 0, 4]; const buildDeci

  13. JavaScriptで平方根を整数または範囲として取得する方法

    課題 JavaScriptで関数を作成し、整数 n を引数として受け取り、次のいずれかを返す必要があります。 n が平方数(完全平方数)である場合:k * k == n を満たす整数 k をそのまま返す n が平方数でない場合:k * k < n < (k+1) * (k+1) を満たす連続する整数の範囲 (k, k+1) を返す コード例 以下がその実装です。 const num = 83; const squareRootRange = (num = 1) => {     const exact = Math.sqrt(num

  14. JavaScriptで数値の各桁を切り取って配列を作成する方法

    問題今回は、数値を受け取り、その数値を先頭から各桁の位置で切り取った文字列を要素として持つ配列を返すJavaScript関数を作成します。例えば、入力が 246 の場合、出力は [2, 24, 246] のようになります。つまり、最初の1桁目だけ、次に2桁目まで、最後に数値全体というように、桁を増やしながら文字列を配列に格納していくイメージです。実装コード例以下は実際のコードです。const num = 246; const cutOffEach = (num = 1) => {     const str = String(num); &nbs

  15. JavaScriptで発射体(Projectile)クラスを作成し、高さと水平距離を計算する方法

    問題JavaScriptでProjectile(発射体)クラスを作成することを求められています。このクラスは、初期化時に次の3つの引数を受け取ります。開始時の高さ(0 ≤ h0 < 200)初速度(0 < v0 < 200)発射時の投射角(0° < a < 90°、度数法で指定)さらに、Projectileクラスには以下のメソッドを実装する必要があります。horizメソッド — 引数として時間tを受け取り、発射体がそれまでに移動した水平距離を計算して返します(double型を受け取り、double型を返します)。コード例このクラスのコードは次のようになります。cl

  16. JavaScriptで1回と2回だけ出現する2つの数値を見つける方法

    問題JavaScriptで次のような関数を実装することを考えます。引数として配列を受け取り、その配列内ではほとんどの数値が3回ずつ出現している一方で、ある1つの数値だけが2回、そしてもう1つの数値だけが1回しか出現していません。この関数の役割は、それら2つの特別な数値を見つけ出して返すことです。コード例以下がその実装コードです。const arr = [1, 1, 1, 2, 2, 3];const findMissing = (arr = []) => {   let x = 0;   let y = 0;   for(let

  17. JavaScriptで指定した間隔(ギャップ)を持つ2つの素数のペアを見つける方法

    問題 数値 gap を第一引数として、また2つの数値からなる範囲配列を第二引数として受け取るJavaScript関数を作成する必要があります。この関数は、指定された範囲内に存在し、かつ絶対差が gap と一致する素数のペアを見つけて返すものです。 例えば、gap = 4、範囲が [20, 200] の場合、「37」と「41」はどちらも素数であり、その差はちょうど4であるため、条件を満たすペアとなります。 解決のアプローチ この問題は以下のステップで解決できます。 素数判定: 与えられた数が素数かどうかを判定するヘルパー関数を用意します。 素数の収集: 指定された範囲内のすべての素数を配列に

  18. JavaScriptで文字列からn文字をアルファベット順に削除する方法

    問題 今回は、小文字の英字で構成された文字列と数値 num を引数として受け取るJavaScript関数を作成します。この関数の役割は、文字列から num 文字を「アルファベット順」に削除することです。 ここでいう「アルファベット順に削除する」とは、まず a が存在すればすべて取り除き、次に b、続いて c というように、a から z の順番で目的の文字数に達するまで削除を繰り返すことを意味します。 コード例 以下が実際のコードです。 const str = abascus; const num = 4; const removeAlphabetically = (str = , num =

  19. JavaScriptでテキスト内の出現回数上位3つの単語を抽出する方法

    課題英語のアルファベット文字列を引数として受け取るJavaScript関数を作成します。この関数は、文字列内に含まれる単語のうち、出現回数が多い上位3つの単語を返す必要があります。解決のアプローチ実装の手順は以下の通りです。1. 正規表現を使って記号やアンダースコアなどの不要な文字を除去し、連続する空白を1つにまとめます。2. 文字列をすべて小文字に変換してから、スペース区切りで配列に分割します。3. オブジェクト(マップ)を使って各単語の出現回数をカウントします。4. 出現回数の降順にソートし、上位3つの単語を返します。コード例以下が実際のコードです。 b[1] - a[1]);  

  20. JavaScriptで数列の和を計算する方法

    問題次のような級数の和を考えてみましょう。$$seq(n,\:p)=\displaystyle\sum\limits_{k=0}^{n}(-1)^{k}\times\:p\:\times 4^{n-k}\:\times\frac{2n-k}{k}$$この問題では、数値 n と p を引数として受け取り、seq(n, p) の計算結果を返すJavaScript関数を作成することが求められます。この級数は以下の要素で構成されています。(-1)k: kが偶数なら正、奇数なら負となる交互符号p: 固定の係数4n-k: 4の冪乗(2n-k)/k: kに応じて変化する倍率解決策forループを使って k =

Total 5937 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:14/297  20-コンピューター/Page Goto:1 8 9 10 11 12 13 14 15 16 17 18 19 20