我正在尝试像这样操作对象中的属性:
for (property in posts.data) {
property = property+1+",";
output += property;
}
document.write(output);
属性是数字的:0、1、2 等。
在这种情况下,我想得到结果 1,2,3。但相反,我得到了 01、11、21 等......它似乎将该属性视为文本字符串而不是数字。为什么?我能做些什么呢?
我正在尝试像这样操作对象中的属性:
for (property in posts.data) {
property = property+1+",";
output += property;
}
document.write(output);
属性是数字的:0、1、2 等。
在这种情况下,我想得到结果 1,2,3。但相反,我得到了 01、11、21 等......它似乎将该属性视为文本字符串而不是数字。为什么?我能做些什么呢?
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) 中的第二个参数将告诉函数遵循什么数字系统。
用于在添加之前将其parseInt
转换property
为整数1
。
演示:http: //jsfiddle.net/mPSnL/
Parse
中的property
变量Int
。喜欢parseInt()
for (property in posts.data) {
var p = parseInt(property)+1+",";
output += p;
}
你可以强制字符串和 int
for (property in posts.data) {
var v = parseInt(property, 10) + 1;
output += v + ",";
}