repetition-ranges

1.0.5 • Public • Published

repetition-ranges

npm version Build Status Coverage Status

Get start/end positions where a given value consecutively appears in the array

import repetitionRanges from 'repetition-ranges';

repetitionRanges(['a', 'b', 'a', 'a', 'b', 'a', 'a', 'a'], 'a');
//=> [{start: 2, end: 3}, {start: 5, end: 7}]
index 0 1 2 3 4 5 6 7
array a b a a b a a a
(a appeared)
a consecutively appeared

Installation

Use npm.

npm install repetition-ranges

API

import repetitionRanges from 'repetition-ranges';

repetitionRanges(array, searchValue)

array: Array
searchValue: any type (the value to resolve its repetition ranges)
Return: Array of objects with start and end properties

repetitionRanges([1, 1, 1], 1); //=> [{start: 0, end: 2}]
repetitionRanges([1, 1, '1', 1, 1, Symbol('1')], 1); //=> [{start: 0, end: 1}, {start: 3, end: 4}]

repetitionRanges(['a', 'b'], 'c'); //=> []
repetitionRanges(['a', 'b', 'a'], 'a'); //=> []
repetitionRanges([], 'a']); //=> []

License

ISC License © 2018 Shinnosuke Watanabe

Package Sidebar

Install

npm i repetition-ranges

Weekly Downloads

0

Version

1.0.5

License

ISC

Unpacked Size

5.61 kB

Total Files

5

Last publish

Collaborators

  • shinnn