1

意味のない配列に未定義の値を生成するコードがいくつかあります。

コードは次のとおりです。

gcc_py = 8;
gcc_pyd = 12;
var aci = 360/gcc_pyd;
var parcalar = new Array();
var renkler = new Array();

for(var i = 0;i<gcc_pyd;i++){   
    parcalar.push(aci);
    renkler.push('#000');
}

console.log(parcalar);
console.log(renkler);

console.log(parcalar)はこれを出力します:

[オブジェクト、オブジェクト、オブジェクト、オブジェクト、オブジェクト、オブジェクト、オブジェクト、オブジェクト、オブジェクト、オブジェクト、未定義×2]

配列内の未定義の値について何か考えがありますか?

4

3 に答える 3

2

後で配列を変更していると思います。コンソールはこれらの変更を反映します。たとえば、数字や文字列の代わりにオブジェクトを表示します。また、配列からプロパティを削除する場合(JavaScriptでの配列要素の削除-delete vs spliceをdelete参照)、プロパティは初期化されたものとして表示されますが、空です(JavaScriptの「undefinedx1」とは?を参照)。

于 2012-06-21T18:23:27.380 に答える
0

私の出力は

[30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]

["#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000"]

コード内のどこかで配列に.prototypeのものを追加したのではないでしょうか。

于 2012-06-21T18:13:19.310 に答える
0

同じ構成を実行すると、次のようになります。

<script>
  var gcc_py = 8;
  var gcc_pyd = 12;
  var aci = 360 / gcc_pyd;
  var parcalar = new Array();
  var renkler = new Array();

  for(var i = 0; i < gcc_pyd; i++){
      parcalar.push(aci);
      renkler.push('#000');
  }

  console.log(parcalar);
  console.log(renkler);
</script>

私は得る:

[30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]
["#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000"]

何を見ているのかわからない。

于 2012-06-21T18:15:33.713 に答える