merge-ranges
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/merge-ranges package

1.0.2 • Public • Published

merge-ranges

Merge overlapping numerical ranges GitHub version Build Status

Install

npm install --save merge-ranges

Usage

var mergeRanges = require('merge-ranges');
 
console.log(mergeRanges([
  [1, 3],
  [11, 14],
  [2, 7],
  [9, 12],
  [15, 19]
]));
//=> [ [1, 7], [9, 14], [15, 19] ]

Ranges are sorted by lowest start number.

Examples

Date ranges

var dates = [
  [new Date('Sat, 08 Aug 2015 06:04:50 +0000'), new Date('Wed, 12 Aug 2015 06:04:50 +0000')],
  [new Date('Mon, 07 Sep 2015 06:04:50 +0000'), new Date('Sun, 13 Sep 2015 06:04:50 +0000')],
  [new Date('Mon, 10 Aug 2015 06:04:50 +0000'), new Date('Fri, 14 Aug 2015 06:04:50 +0000')]
];
 
console.log(mergeRanges(dates));
//=> [
  [ Sat Aug 08 2015 06:04:50 +0000, Fri Aug 14 2015 06:04:50 +0000 ],
  [ Mon Sep 07 2015 06:04:50 +0000, Sun Sep 13 2015 06:04:50 +0000 ]
]
 

License

MIT © James Warwood

Package Sidebar

Install

npm i merge-ranges

Weekly Downloads

4,602

Version

1.0.2

License

MIT

Last publish

Collaborators

  • jwarby