Time: 0:00
Test a custom input to verify an edge case (e.g. empty lists, negative numbers, duplicates).
This bug belongs to the type errors pattern
Totals that concatenate, sorts that put 10 before 9, comparisons that refuse to run.
What went wrong: Array.prototype.map passes (element, index) to the callback. parseInt receives the loop index as its radix, so index 1 evaluates parseInt('10', 1) to NaN and index 2 evaluates to binary 2.
The fix: Pass an explicit callback specifying radix 10: ids.map(id => parseInt(id, 10))
Remember: Never pass parseInt directly to Array.prototype.map.
The pattern behind it: type errors.
Paste this into any web page or blog post. Visitors fix the bug right there, in their browser.
<iframe src="https://trybughunt.com/embed/b1c3b50e-9204-438e-8c1a-91161938f37d" title="Debugging challenge: Parsing string numbers with array map returns NaN and binary" width="100%" height="580" loading="lazy" style="border:1px solid #d4d4d8;border-radius:12px;max-width:760px"></iframe>
<p style="font-size:14px">Debugging challenge from <a href="https://trybughunt.com/challenges/b1c3b50e-9204-438e-8c1a-91161938f37d">TryBugHunt</a></p>