Compare two arrays regardless of order

Compare the sorted sets of distinct values.

JavaScript Version 1.0.0 · MIT · .md

compare-two-arrays-regardless-of-order.js
function isEqualIgnoringOrder({ a, b }) { const normalize = values => JSON.stringify([...new Set(values)].sort()); return normalize(a) === normalize(b); }

Input & expected output

Input

{
  "a": [
    "[email protected]",
    "[email protected]"
  ],
  "b": [
    "[email protected]",
    "[email protected]"
  ]
}

Expected output

true

The edge case

Input

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

Expected output

true

Know the limits

  • Duplicates are ignored, as the edge case shows; compare counts when multiplicity matters.
  • Default sort converts to strings: 10 sorts before 9, which is fine for equality.

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 Compare two arrays regardless of order from the original 1loc collection by Nguyen Huu Phuoc, with robinpokorny, dauom, elkarouani. 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”.