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)の2番目の引数は、どの数値システムに従うかを関数に指示します。

于 2012-06-06T11:47:38.383 に答える
1

に追加する前に、を整数にparseInt変換するために使用します。property1

デモ: http: //jsfiddle.net/mPSnL/

于 2012-06-06T11:38:48.853 に答える
1

Parseproperty変数Int。お気に入りparseInt()

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

文字列を強制的にtoおよびintにすることができます

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