# Compare two arrays

Check the same length and the same items in the same order.

Canonical: https://1loc.dev/array/compare-two-arrays/
Version: 1.0.0
Runtime: JavaScript · Node.js 22 / modern browsers
Verification: Local fixtures; no external services
Updated: 2026-10-28

## Implementation

```javascript
function isEqual({ a, b }) { return a.length === b.length && a.every((value, i) => Object.is(value, b[i])); }
```

## Input

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

## Expected output

```json
true
```

## Edge case

Input:
```json
{
  "a": [
    1,
    2,
    3
  ],
  "b": [
    1,
    2,
    "3"
  ]
}
```
Output:
```json
false
```

## Limits

- Shallow comparison with Object.is. The original JSON.stringify variant treats undefined and null alike and depends on key order for nested objects.

The lab validates types and size before calling this function. Add equivalent validation at your own trust boundary.

## Source and license

Original: https://github.com/phuocng/1loc/blob/14b481cf60dff1620ab1bb99a43b1f68068cdd9b/contents/compare-two-arrays.mdx
Author: Nguyen Huu Phuoc and original contributors
Contributors: See original repository history
Source commit: 14b481cf60dff1620ab1bb99a43b1f68068cdd9b
Copyright (c) 2020 phuoc-ng
License: MIT — https://1loc.dev/licenses/
Maintainer: Oveyon
Modifications: Keeps the element-wise variant with Object.is. Original MDX retained as inert source evidence.
