1次元配列を2次元配列に分割するJavaScript
最初の引数として1次元配列を取り、2番目の引数として数値nを受け取る関数を作成する必要があり、親配列内にn個のサブ配列を作成し(**可能であれば)、それに応じて要素を分割する必要があります。
**配列に9つの要素が含まれ、4つのサブ配列を作成するように要求した場合、各サブ配列で2つの要素を分割すると、5つのサブ配列が作成され、それぞれに3つで3つが作成されます。そのような場合、最も近い最低レベル(この場合は3)にフォールバックする必要があります。特別な場合には、最後の1つを除いて、各サブ配列に同数の要素を分散させる必要があります。
例-
// if the input array is: const arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']; // and the number is 2 //then the output should be: const output = [ [ 'A', 'B', 'C', 'D', 'E' ], [ 'F', 'G', 'H', 'I' ] ];
この関数のコードを書いてみましょう-
例
const arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']; const splitArray = (arr, rows) => { const itemsPerRow = Math.ceil(arr.length / rows); return arr.reduce((acc, val, ind) => { const currentRow = Math.floor(ind / itemsPerRow); if(!acc[currentRow]){ acc[currentRow] = [val]; }else{ acc[currentRow].push(val); }; return acc; }, []); }; console.log(splitArray(arr, 2));
出力
コンソールの出力は-
になります[ [ 'A', 'B', 'C', 'D', 'E' ], [ 'F', 'G', 'H', 'I' ] ]
-
JavaScriptで配列の配列をオブジェクトに変換する
このようなクリケット選手のパフォーマンスを含む配列の配列があるとします- const arr = [ ['Name', 'V Kohli'], ['Matches', 13], ['Runs', 590], ['Highest', 183], ['NO', 3], ['SR', 131.5] ]; このような配列の配列を1つ取り
-
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