Given some array of numbers as strings:
const someNumStrings = ['1', '2', '05', '68'];
If you want them to be numbers, then you might be tempted to do something like:
Which would be fine if
parseInt didn’t allow multiple arguments, and if map only sent in the single element. But that’s not how it works, so what you end up getting is a bit of a mess.
[1, NaN, 0, NaN]
parseInt function takes a radix as the second argument (and realistically anything else you want to pass to it won’t cause it to explode). The
Array.map method takes a callback (in this case
parseInt) and gives that little sucker all the data you could want! In this case, the index is being passed as the radix, and
parseInt doesn’t care about the others.
map(el => parseInt(el)) >>>>>>>>>> map(parseInt) and if you ever intentionally encode the radix as the index of the element you’re parsing… may god have mercy on your soul.