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 | */
|
18 | export 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 |