console.log("1,2,3".split(",").map(parseInt))
baskılar haritası + parseInt - garip sonuçlar
[1, NaN, NaN]
neden
?Bu soruyu "SO kalite standartlarını karşıla" yapmak için daha fazla gereksiz metin eklemek, bunun anlamı ne olursa olsun.
console.log("1,2,3".split(",").map(parseInt))
baskılar haritası + parseInt - garip sonuçlar
[1, NaN, NaN]
neden
?Bu soruyu "SO kalite standartlarını karşıla" yapmak için daha fazla gereksiz metin eklemek, bunun anlamı ne olursa olsun.
Bu burada çok detaylı olarak ele alınmaktadır: http://www.wirfs-brock.com/allen/posts/166. belirgin
a.map(function(e) { return parseInt(e, 10)})
da sayısı kurucu dahil ile birlikte, bu soruna çözüm önerilen: kısmi uygulamaya göre
a.map(Number)
veya bir çözelti (Daha fazla bilgi için http://msdn.microsoft.com/en-us/scriptjunkie/gg575560 bakınız):
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))
.map
aramalar iki parametrelerle parseInt()
- değeri ve dizi indeksi:
parseInt('1', 0); // OK - gives 1
parseInt('2', 1); // FAIL - 1 isn't a legal radix
parseInt('3', 2); // FAIL - 3 isn't legal in base 2
.map, parseInt() işlevini üç parametreyle (değer, dizi dizini ve tüm dizi örneği) çağırır.
Teşekkürler! Yine başka bir javascript var. – georg
Eğer el kitabını okursanız sadece bir gotcha var ... – Alnitak
belgelenmiş bir gotcha, karşı-sezgisel davranış, hala bir gotcha. Oku: http://www.wirfs-brock.com/allen/posts/166 – georg