-
配列内の最初の冗長要素の検索-JavaScript
たとえば、配列に少なくとも2回出現する最初の要素のインデックスを返す関数を作成する必要があるとします。要素が2回以上表示されない場合は、-1を返す必要があります。これは一定のスペースで(つまり、余分なメモリを使用せずに)行う必要があります。 したがって、この問題の解決策を書いてみましょう。 forループを使用して配列を反復処理し、Array.prototype.lastIndexOf()メソッドを使用して重複をチェックします。 例 以下はコードです- const arr1 = [0, 1, 1, 2, 3, 4, 4, 5]; const firstRedundant = arr =>
-
隣接する要素の平均の配列-JavaScript
たとえば、数字の配列があります- const arr = [3, 5, 7, 8, 3, 5, 7, 4, 2, 8, 4, 2, 1]; 対応する要素とその前の要素の平均を含む配列を返す関数を作成する必要があります。最初の要素については、先行要素がないため、要素そのものを返す必要があります。 この関数のコードを書いてみましょう。Array.prototype.map()関数を使用してこの問題を解決します- 例 const arr = [3, 5, 7, 8, 3, 5, 7, 4, 2, 8, 4, 2, 1]; const consecutiveAverage = arr =>
-
2次元配列に基づいて最大配列を構築する-JavaScript
たとえば、次のような数値の配列の配列があるとします- const arr = [ [1, 16, 34, 48], [6, 66, 2, 98], [43, 8, 65, 43], [32, 98, 76, 83], [65, 89, 32, 4], ]; この配列の配列にマップし、各サブ配列から最大(最大)の要素を含む配列を返す関数を作成する必要があります。 したがって、上記の配列の場合、出力は-になります。 const output = [ 48, 98, &nbs
-
ネストされた配列で最大値を見つける-JavaScript
たとえば、JavaScriptで、次の数値の配列(任意のレベルにネストされている)を受け取る単純な関数を作成する必要があるとします- const arr = [ 15, 24, [ 29, 85, 56, [ 36, 14, 6, 98, 34, 52 ], &
-
長さを同じに保ちながら配列から同一のエントリを削除する-JavaScript
配列を受け取り、その配列からすべての重複を削除し、最後に同じ数の空の文字列を挿入する関数を作成する必要があります。 例- 重複する値が4つ見つかった場合は、すべてを削除して、最後に4つの空の文字列を挿入する必要があります。 例 以下はコードです- const arr = [1,2,3,1,2,3,2,2,3,4,5,5,12,1,23,4,1]; const deleteAndInsert = arr => { const creds = arr.reduce((acc, val, ind, array) => { &nb
-
値が配列であるオブジェクトと配列をマージする方法-JavaScript
次のような配列とオブジェクトがあるとします- const arr = [1, 2, 3, 4, 5]; const obj = { group1: ["Ram", "Mohan", "Shyam"], group2: ["Jai", "Dinesh"], }; 配列とオブジェクトをzip形式で圧縮して、配列内の値が、オブジェクト内の値でキー設定された新しいオブジェクトに割り当てられるようにする必要があります。 このように- const ou
-
JavaScriptフィルターを使用して配列から要素を削除します-JavaScript
これらのようなリテラルの2つの配列があるとします- const arr1 = [4, 23, 7, 6, 3, 6, 4, 3, 56, 4]; const arr2 = [4, 56, 23]; これらの2つの配列を受け取り、最初の配列をフィルタリングして、2番目の配列に存在しない要素のみを含むJavaScript関数を作成する必要があります。 次に、フィルタリングされた配列を返し、以下の出力を取得します- const output = [7, 6, 3, 6, 3]; 例 以下はコードです- const arr1 = [4, 23, 7, 6, 3, 6, 4, 3, 56, 4];
-
文字列を階層オブジェクトに変換する-JavaScript
たとえば、次のように、カップルで文字を含む特別な種類の文字列があるとします- const str = "AABBCCDDEE"; この文字列に基づいて、次のようなオブジェクトを作成する必要があります- const obj = { code: "AA", sub: { code: "BB", sub: { &
-
配列要素を同等と比較する-JavaScript
配列内で一致する値の数を比較する関数を作成する必要があります。シーケンスに依存する必要があります。つまり、最初の配列の最初のオブジェクトは、2番目の配列の最初のオブジェクトと同等であると比較する必要があります。 例- 2つの入力配列が-の場合 const arr1 = [4, 7, 4, 3, 3, 3, 7, 6, 5]; const arr2 = [6, 5, 4, 5, 3, 2, 5, 7, 5]; その場合、出力は3になります。 この問題は、forループを使用し、両方の配列の対応するインデックスの値をチェックするだけで解決できます。 例 以下はコードです- const ar
-
2つの非同期関数が完了した後に関数を実行する方法-JavaScript
2つの要素の配列があり、その両方の要素が2つの非同期関数であるとします。両方の非同期関数の実行が完了したら、(この質問の目的で)コンソールに何かを印刷するなどの作業を行う必要があります。 この課題にどのように取り組むことができますか? 非同期タスクの完了時にタスクを実行するには、基本的に2つの方法があります- プロミスの使用 非同期/待機関数の使用 ただし、コードに多くの(複数の)非同期関数の処理が含まれている場合、前者のPromise.all関数は後者よりも優れています。 例 以下はコードです- const arr = [ new Promise((re
-
JavaScript-文字のk番目の外観を置き換える文字列関数の記述
たとえば、3つの引数を取るString.prototype関数を作成する必要があるとします。 最初の引数は、部分文字列を検索する必要がある文字列です 2番目の引数は文字列であり、その文字列の出現は削除されます 3番目の引数は、文字列から削除される部分文字列のn番目の出現回数を示す数値です。 文字列からのsubStrの削除が成功した場合、関数は新しい文字列を返す必要があります。それ以外の場合は、すべての場合に-1を返す必要があります。 例 以下はコードです- const str = 'jkdsttjkdsre'; const subStr = 'jk'
-
文字列内のすべての特殊文字をASCII値に置き換える-JavaScript
特殊文字を含む可能性のある文字列を受け取るJavaScript関数を作成する必要があります。関数は新しい文字列を返す必要があり、すべての特殊文字を対応するASCII値に置き換える必要があります 例 以下はコードです- const str = 'Th!s !s @ str!ng th@t cont@!ns some special characters!!'; const specialToASCII = str => { let res = ''; for(let i = 0; i < str.l
-
数値のすべての桁の再帰積-JavaScript
数値を取り込んでそのすべての桁の積を求めるJavaScript関数を作成する必要があります。数値のいずれかの桁が0の場合は、1と見なして乗算する必要があります。 例-数値が5720の場合、出力は70になります 例 以下はコードです- const num = 5720; const recursiveProduct = (num, res = 1) => { if(num){ return recursiveProduct(Math.floor(num / 10), res * (num % 10 || 1)); &n
-
配列から冗長な要素を完全に削除する-JavaScript
配列を受け取り、重複する値がすべて削除された新しい配列を返す関数を作成する必要があります。元の配列に複数回表示された値は、新しい配列に一度も表示されないようにする必要があります。 たとえば、入力が-の場合 const arr = [763,55,43,22,32,43,763,43]; 出力は-である必要があります const output = [55, 22, 32]; 次の2つの方法を使用します- Array.prototype.indexOf()- 検索された文字列が存在する場合は最初に出現するインデックスを返し、存在しない場合は-1を返します。 Array.prot
-
プロパティを分割して配列をオブジェクトに変換する-JavaScript
各要素にダッシュ(-)が付いた文字列リテラルの配列があります。プロパティキーはダッシュの左側にあり、その値は右側にあります。サンプルの入力配列は次のようになります- const arr = ["playerName-Kai Havertz", "age-21", "nationality-German", "postion-CAM", "languages-German,English,Spanish", "club-Chelsea"]; これらの文字列を分割し、この配列か
-
ライブラリ関数を使用せずにtrue/false値で配列をフラット化-JavaScript
偽の値を持つネストされた配列を受け取り、ネストせずに配列に存在するすべての要素を含む配列を返すJavaScript配列関数を作成する必要があります。 例-入力が-の場合 const arr = [[1, 2, 3], [4, 5, [5, false, 6, [5, 8, null]]], [6]]; その場合、出力は-になります。 const output = [1, 2, 3, 4, 5, false, 6, 5, 8, null, 6]; 例 以下はコードです- const arr = [[1, 2, 3], [4, 5, [5, false, 6, [5, 8, null]]],
-
同一のエントリをサブ配列にグループ化する-JavaScript
たとえば、同じエントリを持つ数値の配列があるとします。配列を受け取り、すべての同一のエントリを1つのサブ配列にグループ化し、このように形成された新しい配列を返す関数を作成する必要があります。 例:入力配列が-の場合 const arr = [234, 65, 65, 2, 2, 234]; その場合、出力は-になります。 const output = [[234, 234], [65, 65], [2, 2]]; ハッシュマップを使用して、すでに発生した要素を追跡し、forループを使用して配列を反復処理します。 例 以下はコードです- const arr = [234, 65, 65,
-
再帰を使用して配列から連続する重複エントリを削除する-JavaScript
数値/文字列リテラルの配列を受け取る関数を作成することになっています。この関数は、余分なメモリスペースを使用せずに、配列の冗長な連続要素をすべて削除する必要があります。 たとえば、入力配列が-の場合 const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1]; その場合、出力は-になります。 const output = [17, 12, 354, 1]; 例 以下はコードです- const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1]; const comp = (arr, len = 0, de
-
JavaScriptの代替シャッフル
代替シャッフル JavaScriptの代わりにシャッフルされた配列は、数値の配列であり、最大の数値の後に最小の要素が続き、2番目に大きい要素の後に2番目に小さい要素が続くようにインデックスが付けられます。 例:入力配列が-の場合 const arr = [11, 7, 9, 3, 5, 1, 13]; その場合、出力は&minusになります。 const output = [13, 1, 11, 3, 9, 5, 7]; 例 以下はコードです- const arr = [11, 7, 9, 3, 5, 1, 13]; const sorter = (a, b) => a - b;
-
配列の偽のインデックスに要素を挿入する-JavaScript
配列関数を作成する必要があります。たとえば、pushAtFalsy()関数は配列と要素を受け取る必要があります。配列内で最初に見つかった偽のインデックスに要素を挿入する必要があります。 空のスペースがない場合は、要素を配列の最後に挿入する必要があります。 最初に空の位置のインデックスを検索し、次にその値を提供された値に置き換えます。 例 以下はコードです- const arr = [13, 34, 65, null, 64, false, 65, 14, undefined, 0, , 5, , 6, ,85, ,334]; const pushAtFalsy = function(el