Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで配列をチャンクする


最初の引数として文字列/数値リテラルの配列arrを受け取り、2番目の引数として数値nを受け取る関数chunk()を作成する必要があります。

n個のサブ配列の配列を返す必要があります。各サブ配列には最大でarr.length/nelementsが含まれます。そして、要素の分布は次のようになります-

最初の要素は最初のサブ配列に入り、2番目は2番目、3番目は3番目というように続きます。各サブアレイに1つの要素が含まれると、最初のサブアレイに2番目の要素を入力することから始めます。同様に、すべてのサブ配列に2つの要素がある場合は、その後にのみ、最初の配列の3番目の要素を埋めます。

例-

// if the input array is:
const input = [1, 2, 3, 4, 5, 6];
//then the output should be:
const output = [
   [1, 4],
   [2, 5],
   [3, 6]
];

この関数のコードを書いてみましょう。元の配列に対してArray.prototype.reduce()メソッドを実行して、目的の配列を作成します。このためのコードは-

になります

const input = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const chunk = (arr, size) => {
   return arr.reduce((acc, val, ind) => {
      const subIndex = ind % size;
      if(!Array.isArray(acc[subIndex])){
         acc[subIndex] = [val];
      } else {
         acc[subIndex].push(val);
      };
      return acc;
   }, []);
};
console.log(chunk(input, 4));

出力

コンソールの出力は-

になります
[ [ 1, 5, 9 ], [ 2, 6 ], [ 3, 7 ], [ 4, 8 ] ]

  1. JavaScriptの配列reverse()

    JavaScript配列reverse()関数は、配列内の要素の順序を逆にします 以下は、配列のreverse()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document&

  2. JavaScriptでの配列の分解。

    破棄すると、配列から値が解凍されます。以下は、JavaScriptでの配列の非構造化のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <