I'm trying to manipulate the properties in an object like this:
for (property in posts.data) {
property = property+1+",";
output += property;
}
document.write(output);
The properties are numerical: 0, 1, 2 etc.
I want to get the result 1,2,3 in this case. But instead I get 01,11,21, etc... It seems to treat the property as a text-string rather than a number. Why? And what can I do about it?
1.Unary '+' operator converts a string into an integer
for (property in posts.data) { var t = +property + 1; output += t+","; }
2.Javascript's parseInt method
for (property in posts.data) { var t = parseInt(property, 10)+ 1; output += t+","; }
The second argument in the parseInt function call(radix) will tell the function what numeric system to follow.
Use parseInt to convert the property to integer before adding 1 into it.
Demo: http://jsfiddle.net/mPSnL/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With