2012-06-21 69 views
1

我有一些代碼在數組中產生未定義的值,沒有任何意義。Javascript數組未定義值

這裏是代碼:

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]

你對數組中的不確定值的任何想法?

+2

它爲我輸出'[30,30,30,30,30,30,30,30,30,30,30,30]'。 – sachleen

+0

我把它放到Firefox Web控制檯上,它會打印'[30,30,30,30,30,30,30,30,30,30,30]和'[「#000」,「#000 「#000」#000##000##000#000 000#000#000 000#000 000#000##000 「]'。 – kennytm

+3

另外,請更改新的Array();到[]這被認爲是更好的做法 –

回答

2

我想你以後會改變數組。控制檯將反映這些變化,例如然後顯示對象而不是數字和字符串。此外,從陣列中刪除屬性時(通過delete,請參閱Deleting array elements in JavaScript - delete vs splice),它們仍將顯示爲已初始化但爲空(請參閱What is "undefined x 1" in JavaScript?)。

+0

是的,在這些行後面有一個函數調用,其中傳遞了這些數組。該函數更改數組。謝謝你的答案。你有關於這個概念的更多信息可能是文檔,鏈接等? –

+1

關於什麼文件?對於[控制檯](http://getfirebug.com/wiki/index.php/Console_API),您可以找到http://getfirebug.com/logging或http://patik.com/blog/complete-cross-browser -console-log /有用。 – Bergi

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東西陣列別的地方的代碼?

+0

我正在使用raphael.js和它的插件piechart.js –

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"] 

你看到的不知道。

+0

我的控制檯輸出它作爲一個對象數組,你有任何想法嗎? –