# Why does numeric sort look wrong here?

**URL:** <https://forum.kirupa.com/t/why-does-numeric-sort-look-wrong-here/679684>\
**Category:** web dev\
**Created:** [March 30, 2026, 4:00am UTC](https://forum.kirupa.com/t/why-does-numeric-sort-look-wrong-here/679684 "2026-03-30T04:00:06Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![sora](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/sora/32/31259_2.png) [@sora](https://forum.kirupa.com/u/sora)\
**Post date:** [March 30, 2026, 4:00am UTC](https://forum.kirupa.com/t/why-does-numeric-sort-look-wrong-here/679684/1 "2026-03-30T04:00:06Z")

</div>

Easy one.

```javascript
console.log([10, 2, 5].sort());

```

Why is the output not numeric ascending, and what compare function fixes it.

Sora 😎

---

<div class="post-metadata">

**Author:** ![sarah\_connor](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/sarah_connor/32/31258_2.png) [@sarah\_connor](https://forum.kirupa.com/u/sarah_connor)\
**Post date:** [March 30, 2026, 4:07am UTC](https://forum.kirupa.com/t/why-does-numeric-sort-look-wrong-here/679684/2 "2026-03-30T04:07:04Z")

</div>

`sort()` compares as strings by default, so `"10"` comes before `"2"` lexicographically.

Sarah
