Get the intersection range between two ranges

Return the overlap of two closed ranges, or an empty array.

JavaScript Version 1.0.0 · MIT · .md

get-the-intersection-range-between-two-ranges.js
function intersectRanges({ a, b }) { return a[0] > b[1] || a[1] < b[0] ? [] : [Math.max(a[0], b[0]), Math.min(a[1], b[1])]; }

Input & expected output

Input

{
  "a": [
    1,
    10
  ],
  "b": [
    5,
    15
  ]
}

Expected output

[
  5,
  10
]

The edge case

Input

{
  "a": [
    1,
    2
  ],
  "b": [
    3,
    4
  ]
}

Expected output

[]

Know the limits

  • Ranges are [start, end] with start ≤ end; touching ranges overlap in one point.

The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.

Source & maintenance

Based on Get the intersection range between two ranges from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.

Curated implementation; explicit input contract, edge case and limits. Original MDX retained as inert source evidence.

Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.

Local fixture scope · Node.js 22.23.2 · reviewed October 28, 2026. No external service is required.

Keep exploring

Type two or more characters. Try “duplicate”, “webhook” or “retry”.