はじめに
この実験では、JavaScript を使ってイテラブルを指定されたサイズの小さな配列に分割する概念を探ります。イテラブルとサイズパラメータを受け取り、各々最大サイズ要素を含む小さな配列のイテラブルを返す関数を実装します。この技術は、大きなデータセットを処理用に小さなチャンクに分解したり、一度に転送するデータ量を削減することでネットワーク要求を最適化するなど、さまざまなアプリケーションに役立ちます。
イテラブルをチャンク化する
イテラブルを指定されたサイズの小さな配列にチャンク化するには、次の手順に従います。
- ターミナル/SSH を開き、コーディングの練習を始めるために
nodeと入力します。 - 与えられたイテラブルに対して
for...ofループを使用し、Array.prototype.push()を使って各新しい値を現在のchunkに追加します。 Array.prototype.lengthを使って現在のchunkが望ましいサイズになっているかどうかを確認し、その場合には値をyieldします。Array.prototype.lengthを使って最終的なchunkを確認し、空でない場合にはそれをyieldします。- 次のコードを使用します。
const chunkify = function* (itr, size) {
let chunk = [];
for (const v of itr) {
chunk.push(v);
if (chunk.length === size) {
yield chunk;
chunk = [];
}
}
if (chunk.length) yield chunk;
};
- このコードを使って関数をテストします。
const x = new Set([1, 2, 1, 3, 4, 1, 2, 5]);
[...chunkify(x, 2)]; // [[1, 2], [3, 4], [5]]
まとめ
おめでとうございます!イテラブルをチャンク化する実験を完了しました。技術を向上させるために、LabEx でさらに実験を行って練習してください。