https://github.com/blakek/array-split
💔 Split and chunk arrays, strings, and more
https://github.com/blakek/array-split
Last synced: about 1 year ago
JSON representation
💔 Split and chunk arrays, strings, and more
- Host: GitHub
- URL: https://github.com/blakek/array-split
- Owner: blakek
- License: mit
- Created: 2020-06-07T21:20:21.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T08:16:45.000Z (over 3 years ago)
- Last Synced: 2025-07-22T14:54:07.881Z (about 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 1.52 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# array-split
> 💔 Split and chunk arrays, strings, and more
Functions to help split an array at an index and chunk an array into pieces.
## Install
Using [Yarn]:
```bash
$ yarn add @blakek/array-split
```
…or using [npm]:
```bash
$ npm i --save @blakek/array-split
```
## API
### `chunk`
```ts
function chunk(chunkSize: number, array: T): T[];
```
Chunks an array into pieces of a given size.
```js
import { chunk } from '@blakek/array-split';
chunk(2, [1, 2, 3, 4]);
//» [[1, 2], [3, 4]]
chunk(3, 'abcdefghij');
//» ['abc', 'def', 'ghi', 'j']
chunk(3, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]);
//» [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
```
### `splitAtIndex`
```ts
function splitAtIndex(index: number, array: T): T[];
```
Splits an array into two pieces at the given index. Anything below the index is
in the first array, the index and above are the second array.
Note, you may pass a negative index to split at the end of the array.
```js
import { splitAtIndex } from '@blakek/array-split';
splitAtIndex(0, [1, 2, 3, 4]);
//» [[], [1, 2, 3, 4]]
splitAtIndex(1, [1, 2, 3, 4]);
//» [[ 1 ], [2, 3, 4]]
splitAtIndex(-1, ['a', 'b', 'c']);
//» [[ 'a', 'b' ], ['c']]
splitAtIndex(3, ['a', 'b', 'c', 'd', 'e']);
//» [['a', 'b', 'c'], ['d', 'e']]
splitAtIndex(1, 'abc');
//» ['a', 'bc']
```
### `splitAtIndices`
```ts
function splitAtIndices(
[index, nextIndex, ...indices]: number[],
array: T
): T[];
```
Similar to `splitAtIndex` but slices an array at multiple indices.
```js
import { splitAtIndices } from '@blakek/array-split';
splitAtIndices([1, 3], ['a', 'b', 'c', 'd', 'e']);
//» [['a'], ['b', 'c'], ['d', 'e']]
splitAtIndices([2, 5], 'blakek');
//» ['bl', 'ake', 'k']
splitAtIndices([-4, -1], 'github');
//» ['gi', 'thu', 'b']
```
## Contributing
[Node.js] and [Yarn] are required to work with this project.
To install all dependencies, run:
```bash
yarn
```
### Useful Commands
| | |
| ------------------- | ----------------------------------------------- |
| `yarn build` | Builds the project to `./dist` |
| `yarn format` | Format the source following the Prettier styles |
| `yarn test` | Run project tests |
| `yarn test --watch` | Run project tests, watching for file changes |
## License
MIT
[node.js]: https://nodejs.org/
[npm]: https://npmjs.com/
[yarn]: https://yarnpkg.com/en/docs/