-
Node.jsのassert.doesNotThrow()関数
アサートモジュールは、関数アサーションに使用されるさまざまな機能を提供します。 assert.doesNotThrowは、関数がエラーをスローできないことを表明します。 assert .doesNotThrowが呼び出されると、すぐに「fn」が呼び出されます。 構文 assert.doesNotThrow(fn, [error], [message]) パラメータ 上記のパラメータは以下のように記述されます- fn –この関数は、assert.doesNotThrowが実行されたときに呼び出されます。エラーをスローする代わりに、この関数を呼び出します。 エラー –このパラメー
-
Node.jsのassert.equal()関数
アサートモジュールは、関数アサーションに使用されるさまざまな機能を提供します。 Assert.equal()関数はその1つです。この関数は、実際のパラメーターと期待されるパラメーターの同等性をテストするために使用されます。条件が満たされない場合、アサーションエラーが発生します。 構文 assert.equal(actual, expected[, message]) パラメータ 上記のパラメータは以下のように記述されます- 実際 –これは、予想されるパラメーターに対して評価される実際の値です。 期待される –これは、実際の値と一致する予想されるパラメーター値です。 メッセー
-
Node.jsのassert.fail()関数
アサートモジュールは、関数アサーションに使用されるさまざまな機能を提供します。 Assert.fail()は、何もチェックせずにアサーションエラーをスローします。生成されるエラーは、デフォルトのメッセージまたは関数で渡されるメッセージのいずれかです。 構文 assert.fail(message) パラメータ 上記のパラメータは以下のように記述されます- メッセージ –これはオプションのパラメーターです。これは、関数の実行時に出力されるユーザー定義のメッセージです。 アサートモジュールのインストール npm install assert assertモジュールは組み込みのNode
-
JavaScriptで合計ペアをマップする
問題 insertメソッドとsumメソッドを使用してMapSumクラスを実装する必要があります。メソッドinsertの場合、(文字列、整数)のペアが与えられます。文字列はキーを表し、整数は値を表します。キーがすでに存在する場合は、元のキーと値のペアが新しいキーに上書きされます。 メソッドsumの場合、プレフィックスを表す文字列が与えられ、キーがプレフィックスで始まるすべてのペアの値の合計を返す必要があります。 例 以下はコードです- class Node { constructor(val) { this.num = 0
-
JavaScriptで最も長く増加するシーケンスの総数
問題 最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。 私たちの関数は、最も長く増加するサブシーケンス(連続または非連続)の数を見つけるために必要です。 たとえば、関数への入力が 入力 const arr = [2, 4, 6, 5, 8]; 出力 const output = 2; 出力の説明 最も長く増加する2つのサブシーケンスは、[2、4、5、8]と[2、4、6、8]です。 例 以下はコードです- const arr = [2, 4, 6, 5, 8]; const countSequence = (arr) =&
-
JavaScriptで配列を昇順に変換する
シーケンスの増加 (0 <=i <=n-2)のようにすべてのi(0ベース)に対してarr [i] <=arr [i + 1]が成り立つ場合、配列を増加として定義します。 問題 最初で唯一の引数として、整数の配列arrを受け取るJavaScript関数を作成する必要があります。 この関数は、配列の最大1つの要素を変更することで、この配列を増加する配列に変換できるかどうかを判断する必要があります。 そうすることができれば、trueを返し、そうでない場合はfalseを返す必要があります。 たとえば、関数への入力が 入力 const arr = [8, 3, 3, 7, 9]; 出力
-
JavaScriptで配列を連続したサブシーケンスに分割できます
問題 最初で唯一の引数として、ソートされた整数の配列arrを受け取るJavaScript関数を作成する必要があります。 配列を1つ以上のサブシーケンスに分割して、各サブシーケンスが連続する整数で構成され、長さが3以上になる場合にのみ、関数はtrueを返す必要があります。それ以外の場合はfalseです。 たとえば、関数への入力が 入力 const arr = [1, 2, 3, 3, 4, 5]; 出力 const output = true; 出力の説明 それらを2つの連続したサブシーケンスに分割できます- 1, 2, 3 3, 4, 5 例 以下はコードです- cons
-
JavaScriptを使用して配列内の特定の番号に最も近い2つの要素を検索する
問題 ソートされた整数の配列arrを最初の引数として受け取り、ターゲット番号を2番目の引数として受け取るJavaScript関数を作成する必要があります。 この関数は、配列arrに存在し、ターゲットに最も近い2つの数値の配列を返す必要があります。出力配列も昇順で並べ替える必要があります。 たとえば、関数への入力が 入力 const arr = [1, 2, 3, 4, 5]; const target = 3; 出力 const output = [2, 3]; 例 以下はコードです- const arr = [1, 2, 3, 4, 5]; const target = 3;
-
JavaScriptで最長の連続結合を検索する
問題 最初で唯一の引数として、数値のペアarrの配列を受け取るJavaScript関数を作成する必要があります。すべてのペアで、最初の数字は常に2番目の数字よりも小さくなります。 ここで、b
-
JavaScriptのサブアレイの特定の長さの最大平均
問題 最初の引数として整数の配列arrを取り、2番目の引数として数値numを受け取るJavaScript関数を作成する必要があります。 この関数は、最大の平均値を持つ、指定された長さnumの連続するサブ配列を見つける必要があります。そして、最大平均値を出力する必要があります。 たとえば、関数への入力が 入力 const arr = [1, 12, -5, -6, 50, 3]; const num = 4; 出力 const output = 12.75; 出力の説明 目的のサブアレイは[12、-5、-6、50]であるため 例 以下はコードです- const arr =
-
JavaScriptでの文字列の文字の再グループ化
問題 最初で唯一の引数として文字列strを受け取るJavaScript関数を作成する必要があります。 文字列strには、3種類の文字を含めることができます- 英語のアルファベット:(A-Z)、(a-z) 数字:0-9 特殊文字-残りのすべての文字 関数はこの文字列を反復処理し、正確に3つの要素で構成される配列を構築する必要があります。最初の要素には文字列に存在するすべてのアルファベットが含まれ、2番目の要素には数字が含まれ、3番目の特殊文字は文字の相対的な順序を維持します。最終的にこの配列を返す必要があります。 たとえば、関数への入力が 入力 const s
-
JavaScriptを使用して数値の配列を昇順で並べ替える挿入ソートの実装
問題 最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。 この関数は、挿入ソートアルゴリズムを使用して、この数値の配列を昇順でソートする必要があります。 たとえば、関数への入力が 入力 const arr = [5, 8, 1, 3, 9, 4, 2, 7, 6]; 出力 const output = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 例 以下はコードです- const arr = [5, 8, 1, 3, 9, 4, 2, 7, 6]; const insertionSort = (arr = [])
-
Node.jsのagent.createConnection()メソッド
agent.createConnection()メソッドは、「http」モジュールによって提供されるインターフェースです。このメソッドは、HTTPリクエストに使用できるソケット/ストリームを生成します。カスタムエージェントを使用してこのメソッドをオーバーライドし、柔軟性を高めることができます。ソケット/ストリームは、この関数から直接ソケット/ストリームを返すか、このソケット/ストリームをコールバックに渡すかの2つの方法で返すことができます。 構文 agent.createConnection(options, [callback]) パラメータ 上記の関数は、次のパラメータを受け入れるこ
-
JavaScriptのターゲットよりわずかに少ないサブ配列の製品
問題 最初の引数として数値の配列arrを取り、2番目の引数として数値のtargetを受け取るJavaScript関数を作成する必要があります。 この関数は、サブアレイ内のすべての要素の積がターゲットよりも少ない(連続した)サブアレイの数をカウントして返すことになっています。 たとえば、関数への入力が 入力 const arr = [10, 5, 2, 6]; const target = 100; 出力 const output = 8; 出力の説明 積が100未満の8つのサブアレイは- [10], [5], [2], [6], [10, 5], [5, 2], [2, 6
-
JavaScriptの文字の最小削除合計
問題 英語の小文字のアルファベットの2つの文字列str1とstr2を、それぞれ最初と2番目の引数として受け取るJavaScript関数を作成する必要があります。 この関数は、削除された文字の最小のASCII合計を見つけて返し、2つの文字列を等しくすることになっています。 たとえば、関数への入力が 入力 const str1 =sea; const str2 =eat; 出力 const output =231; 出力の説明 「海」から「s」を削除すると、「s」(115)のASCII値が合計に追加されます。 「食べる」から「t」を削除すると、合計に116が追加されます
-
JavaScriptの要素の頻度の増加に基づいて配列を並べ替える
問題 最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。 配列arrには、いくつかの重複が含まれている可能性があります。この関数は、出現回数が最も少ない要素が最初に配置され、次に頻度が高くなる要素が配置されるように配列を並べ替えることを想定しています。 2つの要素が配列に同じ回数出現する場合は、昇順で配置する必要があります。 たとえば、関数への入力が 入力 const arr = [5, 4, 5, 4, 2, 1, 12]; 出力 const output = [1, 2, 12, 4, 4, 5, 5]; 出力の説明
-
JavaScriptで最大の頻度を構成する可能な限り最小の長さ
問題 最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。 私たちの関数は、配列arrの(連続した)サブ配列の可能な限り最小の長さを見つけることになっています。これは、配列全体と同じ要素の最大頻度を持ちます。 たとえば、関数への入力が 入力 const arr = [55, 77, 77, 88, 55]; 出力 const output = 2; 出力の説明 要素55と77の両方が2回出現するため、入力配列は2の要素の中で最も頻度が高くなります。 配列全体の中で最も頻度が高いサブ配列のうち、最短の長さは2です。したがって、
-
JavaScriptを使用してビットが整数で交互になっていますか?
問題 最初で唯一の引数として整数numを受け取るJavaScript関数を作成する必要があります。 この関数は、numのバイナリ表現に交互のビットがあるかどうか、つまり、隣接する2つのビットの値が常に異なるかどうかを確認する必要があります。 たとえば、関数への入力が 入力 const num = 5; 出力 const output = true; 出力の説明 5のバイナリ形式は101であり、ビットが交互になっているためです。 例 以下はコードです- const num = 5; const isAlternating = (num = 1) => {
-
JavaScriptを使用して配列内で最も頻繁に使用される単語を検索する
問題 最初の引数として英語の小文字のアルファベットの文字列の配列arrを受け取るJavaScript関数を作成する必要があります。関数の2番目の引数は、数値num(num
-
JavaScriptで1つの文字列を繰り返して他の文字列を形成できますか
問題 最初と2番目の引数としてstr1とstr2の2つの文字列を受け取るJavaScript関数を作成する必要があります。 この関数は、文字列str2がそのサブ文字列になるように、文字列str1を繰り返す必要がある最小回数を返す必要があります。 str2を繰り返した後、その部分文字列にすることが不可能な場合は、-1を返す必要があります たとえば、関数への入力が 入力 const str1 = 'wxyz'; const str2 = 'yzwxyzwx'; 出力 const output = 3; 出力の説明 「abcdabcdabcd」を3