Hallo,
Das addieren läuft allerdings falsch, da id immernoch als string behandelt wird bekomme ich
leider z.B. "15-1 dx:-1" oder z.B. "151 dx:1" raus.
parseInt
ist gut und recht, kommt auch mit Hex- und Oktalzahlen zurecht und mit Stings wie "123xy" (ergibt 123), oft wird auch empfohlen 0 zu addieren, aber die einfachste Methode ist immer noch der Plus-Operator: +str
konvertiert str zu einer Zahl, in deinem Fall also +id + (+dx)
(Klammerung nur zur Sicherheit, damit beim Komprimieren nicht aus Versehen ++dx enststeht, was etwas anderes wäre).
Die ECMAScript-Spezifikation sagt:
11.4.6 Unary + Operator
The unary + operator converts its operand to Number type.
The production UnaryExpression : + UnaryExpression is evaluated as follows:
- Evaluate UnaryExpression.
- Call GetValue(Result(1)).
- Call ToNumber(Result(2)).
- Return Result(3).
In Punkt 3 ist die Konvertierung zur Zahl mit ToNumber() vorgeschrieben, und so geschieht es auch.
Gruß, Don P