A utility for making ngrams from Arrays
npm install ngraminatorA really small ngram generator for Node.js and the browser. Check out the interactive demo.
[![NPM version][npm-version-image]][npm-url]
[![NPM downloads][npm-downloads-image]][npm-url]

[![Build Status][CI-image]][CI-url]
[![JavaScript Style Guide][standardjs-image]][standardjs-url]
[![MIT License][license-image]][license-url]
const ngraminator = require('ngraminator'), but now it is const { ngraminator } = require('ngraminator')And UMD used to be ngraminator(), but is now ngrm.ngraminator()

JavaScript
const { ngraminator } = require('ngraminator')
// ngraminator(wordArray, ngramLenghtArray) available
`$3
`JavaScript
import { ngraminator } from 'ngraminator'
// ngraminator(wordArray, ngramLenghtArray) available
`$3
`html
`Usage
`javascript
const str = "mary had a little lamb it's fleece"// get ngrams of length 3
ngraminator(str.split(' '), [3])
// [
// ['mary', 'had', 'a'],
// ['had', 'a', 'little'],
// ['a', 'little', 'lamb'],
// ['little', 'lamb', 'it\'s'],
// ['lamb', 'it\'s', 'fleece']
// ]
// get ngrams of lengths 1 and 2
ngraminator(str.split(' '), [1, 2])
// [
// [ 'mary' ],
// [ 'had' ],
// [ 'a' ],
// [ 'little' ],
// [ 'lamb' ],
// [ 'it\'s' ],
// [ 'fleece' ],
// [ 'mary', 'had' ],
// [ 'had', 'a' ],
// [ 'a', 'little' ],
// [ 'little', 'lamb' ],
// [ 'lamb', 'it\'s' ],
// [ 'it\'s', 'fleece' ]
// ]
// get ngrams of lengths 1, 2, and 5
ngraminator(str.split(' '), [1, 2, 5])
// [
// [ 'a' ],
// [ 'a', 'little' ],
// [ 'a', 'little', 'lamb', 'it\'s', 'fleece' ],
// [ 'fleece' ],
// [ 'had' ],
// [ 'had', 'a' ],
// [ 'had', 'a', 'little', 'lamb', 'it\'s' ],
// [ 'it\'s' ],
// [ 'it\'s', 'fleece' ],
// [ 'lamb' ],
// [ 'lamb', 'it\'s' ],
// [ 'little' ],
// [ 'little', 'lamb' ],
// [ 'mary' ],
// [ 'mary', 'had' ],
// [ 'mary', 'had', 'a', 'little', 'lamb' ]
// ]
//
// get ngrams of lengths 1, 2, and 5 stringified
ngraminator(str.split(' '), [1, 2, 5]).map(item => item.join(' '))
// [
// "a",
// "a little",
// "a little lamb it's fleece",
// "fleece",
// "had",
// "had a",
// "had a little lamb it's",
// "it's",
// "it's fleece",
// "lamb",
// "lamb it's",
// "little",
// "little lamb",
// "mary",
// "mary had",
// "mary had a little lamb"
// ]
//
``[license-image]: http://img.shields.io/badge/license-MIT-blue.svg?style=flat
[license-url]: LICENSE
[npm-url]: https://npmjs.org/package/ngraminator
[npm-version-image]: http://img.shields.io/npm/v/ngraminator.svg?style=flat
[npm-downloads-image]: http://img.shields.io/npm/dm/ngraminator.svg?style=flat
[CI-url]: https://github.com/fergiemcdowall/ngraminator/actions/workflows/tests.yml
[CI-image]: https://github.com/fergiemcdowall/ngraminator/actions/workflows/tests.yml/badge.svg
[standardjs-url]: https://standardjs.com
[standardjs-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg?style=flat-square