소개
이 랩에서는 JavaScript 를 사용하여 반복 가능한 객체 (iterable) 를 지정된 크기의 더 작은 배열로 청크 (chunking) 하는 개념을 탐구합니다. 반복 가능한 객체와 크기 매개변수를 입력으로 받아, 각 배열에 최대 size 개의 요소를 포함하는 더 작은 배열의 반복 가능한 객체를 반환하는 함수를 구현할 것입니다. 이 기술은 대규모 데이터 세트를 처리하기 위해 더 작은 청크로 분할하거나, 한 번에 전송되는 데이터 양을 줄여 네트워크 요청을 최적화하는 등 다양한 응용 분야에 유용할 수 있습니다.
반복 가능한 객체 청크하기 (Chunk Iterable)
반복 가능한 객체를 지정된 크기의 더 작은 배열로 청크하려면 다음 단계를 따르세요.
- 터미널/SSH 를 열고
node를 입력하여 코딩 연습을 시작합니다. - 주어진 반복 가능한 객체에 대해
for...of루프를 사용하고,Array.prototype.push()를 사용하여 각 새 값을 현재chunk에 추가합니다. Array.prototype.length를 사용하여 현재chunk의 크기가 원하는size인지 확인하고, 그렇다면 값을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]]
요약
축하합니다! 반복 가능한 객체 청크하기 (Chunk Iterable) 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.