2012-05-29 75 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