Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mathematical manipulation on object in javascript

Tags:

javascript

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?

like image 841
Himmators Avatar asked Aug 19 '26 19:08

Himmators


2 Answers

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.

like image 136
Ashwin Krishnamurthy Avatar answered Aug 22 '26 09:08

Ashwin Krishnamurthy


Use parseInt to convert the property to integer before adding 1 into it.

Demo: http://jsfiddle.net/mPSnL/

like image 30
codef0rmer Avatar answered Aug 22 '26 09:08

codef0rmer



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!