3

我正在尝试像这样操作对象中的属性:

for (property in posts.data) {
    property = property+1+",";
    output += property;
}
document.write(output);

属性是数字的:0、1、2 等。

在这种情况下,我想得到结果 1,2,3。但相反,我得到了 01、11、21 等......它似乎将该属性视为文本字符串而不是数字。为什么?我能做些什么呢?

4

4 回答 4

5

1.一元'+'运算符将字符串转换为整数

for (property in posts.data) {
   var t = +property + 1;
   output += t+",";
}

2.Javascript的parseInt方法

for (property in posts.data) {
    var t = parseInt(property, 10)+ 1;
     output += t+","; 
}

parseInt 函数 call(radix) 中的第二个参数将告诉函数遵循什么数字系统。

于 2012-06-06T11:47:38.383 回答
1

用于在添加之前将其parseInt转换property为整数1

演示:http: //jsfiddle.net/mPSnL/

于 2012-06-06T11:38:48.853 回答
1

Parse中的property变量Int。喜欢parseInt()

for (property in posts.data) {
    var p = parseInt(property)+1+",";
    output += p;
 }
于 2012-06-06T11:39:07.507 回答
1

你可以强制字符串和 int

for (property in posts.data) {
  var v = parseInt(property, 10) + 1;
  output += v + ",";
}
于 2012-06-06T11:40:45.983 回答