Esto se discute en mayor detalle aquí: http://www.wirfs-brock.com/allen/posts/166. soluciones propuestas para este problema, junto con el obvio
a.map(function(e) { return parseInt(e, 10)})
incluyen también el constructor Número:
a.map(Number)
o una solución basada en la aplicación parcial (ver http://msdn.microsoft.com/en-us/scriptjunkie/gg575560 para más):
Function.prototype.partial = function(/*args*/) {
var a = [].slice.call(arguments, 0), f = this;
return function() {
var b = [].slice.call(arguments, 0);
return f.apply(this, a.map(function(e) {
return e === undefined ? b.shift() : e;
}));
}
};
["1", "2", "08"].map(parseInt.partial(undefined, 10))
Gracias! Sin embargo, otro javascript gotcha. – georg
es solo un gotcha si no lee el manual ... – Alnitak
un documentado gotcha, también conocido como comportamiento contraintuitivo, sigue siendo un gotcha. Lea: http://www.wirfs-brock.com/allen/posts/166 – georg