Verilen aşağıdaki: Aşağıdaki tutan gerçek rağmenDizi haritası ve parseInt sıkıntılardan
[10, 0, 0, 1]
:
> x = '10.0.0.1'.split('.');
["10", "0", "0", "1"]
> x[1] == x[2]
true
Alternatif parseFloat
kullanılarak
> '10.0.0.1'.split('.').map(parseInt)
[10, NaN, 0, 1]
yerine neden çıktı değil bana istenilen çıktıyı veriyor; Ancak burada önemli bir şeyi kaçırdığımı hissediyorum. Beklenildiği gibi çalışır.
EDIT:'10.0.0.1'.split('.').map(function(x) { return parseInt(x); })
beklendiği gibi çalışır.
EDIT2: Chrome Sürüm 26.0.1410.64 kullanıyorum, ancak bu aynı zamanda yerel düğüm node.j. Biri argüman (eleman geçer,) ile geri arama kullanımı yaygındır NaN
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/map
açıklıyor "Zor Use Case" nde
http://stackoverflow.com/questions/262427/javascript-arraymap-and-parseint http://stackoverflow.com/questions/8594699/map-parseint-strange-results –