parse-numeric-range

Takes a string, such as "1,2,3-10,5-8" and turns it into an array of numbers

Usage no npm install needed!

<script type="module">
  import parseNumericRange from 'https://cdn.skypack.dev/parse-numeric-range';
</script>

README

node-parse-numeric-range

Parses expressions like 1-10,20-30. Returns an energetic (as opposed to lazy) array.

Supported Expressions

Comprehensive supported expression examples:

Expression result
[]
1 [1]
1,2 [1,2]
-10 [-10]
-3,-3 [-3, -3]
-1-2,-2 [-1,0,1,2,-2]
-1--2 [-1,-2]
-1..2,-2 [-1,0,1,2,-2]
-1...3,-2 [-1,0,1,2,-2]
1⋯3 [1,2]
1…3 [1,2]
1‥3 [1,2,3]

What's this useful for? Well, letting users input these sorts of things and then making them programmatically useful.

Usage

First, npm install parse-numeric-range.

const rangeParser = require("parse-numeric-range");

const numbers = rangeParser("4,6,8-10,12,14..16,18,20...23");

console.log(
  `The first ${numbers.length} composite numbers are: ${numbers.join(", ")}`,
);

ES6

import rangeParser from "parse-numeric-range";

const numbers = rangeParser("4,6,8-10,12,14..16,18,20...23");

console.log(
  `The first ${numbers.length} composite numbers are: ${numbers.join(", ")}`,
);