console.log("1,2,3".split(",").map(parseInt))
drukujemapa + parseInt - dziwne wyniki
[1, NaN, NaN]
dlaczego?
Dodanie tutaj niepotrzebnego tekstu, aby sprawić, by pytanie to "spełniało standardy jakości SO", cokolwiek to znaczy.
console.log("1,2,3".split(",").map(parseInt))
drukujemapa + parseInt - dziwne wyniki
[1, NaN, NaN]
dlaczego?
Dodanie tutaj niepotrzebnego tekstu, aby sprawić, by pytanie to "spełniało standardy jakości SO", cokolwiek to znaczy.
Jest to omówione w wiele szczegółów tutaj: http://www.wirfs-brock.com/allen/posts/166. Proponowane rozwiązania tego problemu, a także oczywiste
a.map(function(e) { return parseInt(e, 10)})
obejmują także konstruktora Numer:
a.map(Number)
lub roztworu na podstawie częściowego zastosowania (http://msdn.microsoft.com/en-us/scriptjunkie/gg575560 dłużej)
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
rozmowy parseInt()
z dwa parametrami - wartość, a indeks tablicy:
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 wywołania parseInt() z trzema parametrami - wartością, indeksem tablicy i całą instancją tablicy.
Dzięki! Jeszcze jeden skrypt javascript. – georg
to tylko garstka, jeśli nie czytasz instrukcji ... – Alnitak
udokumentowane grozę, czyli zachowanie sprzeczne z intuicją, wciąż jest problemem. Czytanie: http://www.wirfs-brock.com/allen/posts/166 – georg