UNPKG

705 BJavaScriptView Raw
1// Copyright 2017-2022 @polkadot/util authors & contributors
2// SPDX-License-Identifier: Apache-2.0
3
4/**
5 * @name arrayChunk
6 * @summary Split T[] into T[][] based on the defind size
7 * @description
8 * Returns a set ao arrays based on the chunksize
9 * @example
10 * <BR>
11 *
12 * ```javascript
13 * import { arrayChunk } from '@polkadot/util';
14 *
15 * arrayChunk([1, 2, 3, 4, 5]); // [[1, 2], [3, 4], [5]]
16 * ```
17 */
18export function arrayChunk(array, chunkSize) {
19 const outputSize = Math.ceil(array.length / chunkSize);
20 const output = Array(outputSize);
21
22 for (let i = 0; i < outputSize; i++) {
23 const offset = i * chunkSize;
24 output[i] = array.slice(offset, offset + chunkSize);
25 }
26
27 return output;
28}
\No newline at end of file