4 ms·
The first one is easy to understand though. parseInt takes two arguments: $thing_to_change and $radix; map iterates over an array and feeds it $value and $inde
by emehrkay 12y ago
The first one is easy to understand though.
parseInt takes two arguments: $thing_to_change and $radix; map iterates over an array and feeds it $value and $index. You're getting parseInt("10", 0); parseInt("10", 1) and parseInt("10", 2);
The fix would be to partially apply parseInt with your defined radix;
var foo = ["10", "10", "10"];
var base10 = function(val){
return parseInt(val, 10);
};
x = foo.map(base10)
[10, 10, 10]
- sarciszewski 12y agoA lot of the ones he presented are easy to understand. It's still a WTF when you run into it though.
- emehrkay 12y agoI guess my question is: what would have to change, in the last example, to make it not WTF to you? To me it seems pretty straight-forward what is happening.
- beejiu 12y agoAll you have done is used a function without understanding what it was doing, or reading the documentation. Most JS developers know how parseInt works, and even if they run into this problem, would quickly discover the cause. I don't see how this is a flaw of Javascript; it could happen to a developer of any language, if their strategy is 'well, it looks like it'll work'.
- sarciszewski 12y ago> All you have done is used a function without understanding what it was doing, or reading the documentation These aren't my examples. I haven't done anything. I credited the person who provided them: Gary Bernhardt. https://www.destroyallsoftware.com/talks/wat https://www.destroyallsoftware.com/talks/wat https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript https://www.destroyallsoftware.com/talks/the-birth-and-death... Next time before you make an accusation, reread the post before pressing the reply button.
- prezjordan 12y agoNope. Behavior should be pretty straight-forward, I shouldn't have to load up the docs to convert something to an integer.