我正试图像这样操作一个对象中的属性:
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);
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函数调用中的第二个参数(radix)将告诉该函数要遵循哪种数字系统。将property
变量解析为Int
类型,类似于parseInt()
函数。
for (property in posts.data) {
var p = parseInt(property)+1+",";
output += p;
}
您可以强制将字符串转换为整数
for (property in posts.data) {
var v = parseInt(property, 10) + 1;
output += v + ",";
}