# Why does numeric sort look wrong here?

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

<div class="post-metadata">

**Author:** ![WaffleFries](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/wafflefries/32/31185_2.png) [@WaffleFries](https://forum.kirupa.com/u/WaffleFries)\
**Post date:** [March 31, 2026, 6:00am UTC](https://forum.kirupa.com/t/why-does-numeric-sort-look-wrong-here/679741/1 "2026-03-31T06:00:06Z")

</div>

Consider this snippet.

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

```

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

WaffleFries

---

<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 31, 2026, 6:07am UTC](https://forum.kirupa.com/t/why-does-numeric-sort-look-wrong-here/679741/2 "2026-03-31T06:07:06Z")

</div>

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

Sarah
