JavaScript에서 배열을 청크로 분할하기 배열을 지정된 크기의 더 작은 배열로 나누는 작업이 포함됩니다. 이 프로세스는 대규모 데이터 세트를 보다 효율적으로 관리하거나 애플리케이션 내에서 더 작고 관리하기 쉬운 부분의 데이터를 처리하는 데 유용합니다.
배열을 청크로 분할하는 방법:
내용의 테이블
- JavaScript 슬라이스() 메소드 사용
- JavaScript splice() 메소드 사용
- Lodash _.chunk() 메소드 사용
- 루프를 사용하여 배열 분할
- Array.reduce() 사용:
- Array.from() 및 Array.splice() 사용
JavaScript 슬라이스() 메소드 사용
그만큼 슬라이스() 메소드 선택한 요소를 포함하는 새 배열을 반환합니다. 이 메소드는 주어진 시작 인수에서 시작하여 끝나는 요소를 선택하지만, 주어진 끝 인수는 제외합니다.
통사론:
array.slice(start, end);>
예: 이 예에서는 일부분() 배열을 배열의 청크로 분할하는 방법입니다. 이 방법을 반복적으로 사용하여 모든 크기의 배열을 분할할 수 있습니다.
자바스크립트 // Size of chunk let chunk = 4; // Input array let arr = [1, 2, 3, 4, 5, 6, 7, 8]; // Spiltted arrays let arr1 = arr.slice(0, chunk); let arr2 = arr.slice(chunk, chunk + arr.length); // Display Output console.log('Array1: ' + arr1 + '
Array2: ' + arr2);> 산출
Array1: 1,2,3,4 Array2: 5,6,7,8>
JavaScript splice() 메소드 사용
스플라이스() 메서드 배열에 항목을 추가/제거하고, 제거된 항목 목록을 반환합니다.
통사론:
array.splice(index, number, item1, ....., itemN);>
예: 이 예에서는 접착() 배열을 배열의 청크로 분할하는 방법입니다. 이 메서드는 원래 배열에서 항목을 제거합니다. 이 방법을 반복적으로 사용하여 모든 크기의 배열을 분할할 수 있습니다.
성능 시험자바스크립트
// Size of aaray chunks let chunk = 2; // Input array let arr = [1, 2, 3, 4, 5, 6, 7, 8]; // Splitted arrays let arr1 = arr.splice(0, chunk); let arr2 = arr.splice(0, chunk); let arr3 = arr.splice(0, chunk); let arr4 = arr.splice(0, chunk); // Display output console.log('Array1: ' + arr1); console.log('Array2: ' + arr2); console.log('Array3: ' + arr3); console.log('Array4: ' + arr4);> 산출
Array1: 1,2 Array2: 3,4 Array3: 5,6 Array4: 7,8>
사용 Lodash _.chunk() 메서드
이 접근 방식에서 우리는 Lodash _.chunk() 메소드 주어진 값에 따라 주어진 배열을 청크로 반환합니다.
예: 이 예에서는 크기 '3'을 _.chunk() 메서드에 전달하여 배열을 분할합니다. 청크의 크기는 다양할 수 있으며, 청크 기능을 통해 다양한 데이터 유형의 배열을 사용할 수 있습니다.
자바스크립트 // Requiring the lodash module // in the script let _ = require('lodash'); let arr = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd']; console.log('Before: ', arr) // Making chunks of size 3 console.log('After: ', _.chunk(arr, 3))> 산출:
Before: [ 1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd' ] After: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 'a', 'b', 'c' ], [ 'd' ] ]>
루프를 사용하여 배열 분할
이 접근 방식에서는 원본 배열을 반복하고 원하는 크기의 청크로 분할하여 각 청크를 새 배열로 푸시합니다.
예:
자바스크립트 function chunkArray(array, chunkSize) { const chunks = []; for (let i = 0; i < array.length; i += chunkSize) { chunks.push(array.slice(i, i + chunkSize)); } return chunks; } const arr = [1, 2, 3, 4, 5, 6, 7, 8]; const chunkedArray = chunkArray(arr, 4); console.log(chunkedArray);> 산출
[ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ]>
Array.reduce() 사용
사용 배열.감소() , 배열을 지정된 크기의 청크로 분할합니다. Reduce 함수는 ChunkSize를 기반으로 청크를 축적하고, 배열의 슬라이스 부분을 청크 배열로 푸시하고, 결과 청크 배열을 반환합니다.
예: 이 예에서는 축소 메소드를 사용하여 배열을 지정된 크기의 청크로 분할합니다. 배열을 반복하면서 정의된 청크 크기의 하위 배열을 결과 배열로 푸시합니다.
자바스크립트 // Size of chunk let chunk = 4; // Input array let arr = [1, 2, 3, 4, 5, 6, 7, 8]; // Split array into chunks using reduce method let splittedArrays = arr.reduce((result, item, index) =>{ if (인덱스 % 청크 === 0) { result.push(arr.slice(인덱스, 인덱스 + 청크)); } 결과를 반환합니다. }, []); // 출력 표시 분할Arrays.forEach((subArray, index) => { console.log(`Array${index + 1}: ${subArray}`); });> 산출
Array1: 1,2,3,4 Array2: 5,6,7,8>
Array.from() 및 Array.splice() 사용
이 방법에는 Array.from()을 사용하여 원래 배열에서 새 배열을 만든 다음 splice()를 사용하여 반복적으로 요소를 제거하여 청크를 형성하는 작업이 포함됩니다.
예: 이 예에서 ChunkArray 함수는 배열을 지정된 크기의 청크로 분할합니다. 원본 배열의 복사본을 생성하고 배열이 빌 때까지 청크 크기에 따라 부분을 반복적으로 추출합니다.
자바스크립트 function chunkArray(array, chunkSize) { const chunks = []; const copyArray = Array.from(array); // Create a copy of the original array while (copyArray.length>0) {chunks.push(copyArray.splice(0,chunkSize)); } 청크를 반환합니다. } // 사용 예: const arr = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd']; const ChunkSize = 3; const Chunk = ChunkArray(arr, ChunkSize); console.log(청크);> 산출
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 'a', 'b', 'c' ], [ 'd' ] ]>