2012-05-29 98 views
2

我有一個大數組(比如說500個條目),但大多數值是空的。我怎樣才能代表陣列而不是[null, null ... 3, null, null, ...]建設稀疏陣列

將該數組傳遞給高位圖進行繪圖。 Highcharts繪製了陣列中每個元素的一個點,所以我真的不需要那些null s。

+0

你想如何表示? – Gandaro

+0

你得到了'null's,你希望數組沒有它們,但你必須擁有它們。我很困惑!那麼你到底想要什麼呢?! – gdoron

+0

我想要JavaScript瞭解,我有一個500條目數組有很多空,但我不希望代碼顯示空的 – WindowsMaker

回答

4

如果設置array[200]的東西,它不喜歡的JavaScript走來你的身後,並設置array[0]通過array[199]。數組自動稀疏。

因此,如果你要求一個未初始化的元素,你得到undefined而不是null?還是有其他問題?

如果它是undefined VS null的事情,那麼只需添加null是你初始化後,有一個循環,而不必把它們放在大字面斑點:

for (var i=0; i<array.length; ++i) { 
    if (typeof(array[i]) === 'undefined') { 
     array[i] = null; 
    } 
} 

如果你想null s取代你初始化的數據,用你最大的索引值(+1,或者將<更改爲<=)代替array.length

+0

一個巨大的塊,這是一個潛在的問題是Highcharts理解null,但可能不是undefined。例如:data = [null,2,null,4,null]將給出一個只有2點的情節,並且在中間有空位 – WindowsMaker

+0

您是否嘗試過使用undefined? –

+0

可悲的是,highcharts似乎不適用於undefineds :(。哦,你的答案仍然會有很多意義tho :) – WindowsMaker