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

JavaScriptで配列をチャンクに分割する


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

n個のサブ配列の配列を返す必要があります。各サブ配列には最大で-

が含まれます。
arr.length / n elements.

要素の分布は次のようになります-

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

例:入力配列が-

の場合
const input = [656, 756, 5345, 67, 43, 76, 54, 768, 34];

そして数nは3です

その場合、出力は-

になります。
const output = [
   [ 656, 67, 54 ],
   [ 756, 43, 768 ],
   [ 5345, 76, 34 ]
];

したがって、この関数のコードを書いてみましょう-

元の配列に対してArray.prototype.reduce()メソッドを実行して、目的の配列を作成します。

このためのコードは-

になります
const input = [656, 756, 5345, 67, 43, 76, 54, 768, 34];
const divideArray = (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(divideArray(input, 3));

出力

コンソールの出力は-

になります
[ [ 656, 67, 54 ], [ 756, 43, 768 ], [ 5345, 76, 34 ] ]

  1. JavaScript array.values()

    JavaScriptのarray.values()は、指定された配列のすべての値を含むイテレータオブジェクトを返します。 以下は、array.values()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  2. JavaScriptのarray.flatMap()

    JavaScriptのarray.flatMap()関数は、指定されたネストされた配列を新しいフラット配列にフラット化します。 以下は、array.flatMap()メソッドのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"