Apache flex Flex:如何将不同数组长度的多个系列输入到折线图中?

Apache flex Flex:如何将不同数组长度的多个系列输入到折线图中?,apache-flex,actionscript,Apache Flex,Actionscript,我是Flex的新手。我在折线图中画了多个系列,所有这些系列的长度都相同。现在我需要绘制新数据,每个系列的长度各不相同。问题是如何修改下面的代码来实现这一点 initApp()函数在程序开始时被调用,它调用函数genData()以生成用于在折线图中打印的数据集 public function initApp():void { // Initialize data provider array. dataSet = new ArrayCollection(genDat

我是Flex的新手。我在折线图中画了多个系列,所有这些系列的长度都相同。现在我需要绘制新数据,每个系列的长度各不相同。问题是如何修改下面的代码来实现这一点

initApp()函数在程序开始时被调用,它调用函数genData()以生成用于在折线图中打印的数据集

public function initApp():void {
        // Initialize data provider array.
        dataSet = new ArrayCollection(genData());
    }

    public function genData():Array {
        var result:Array = [];

        include "Data_File.as";  // load myarray<1|2|3|4> example data

        for (var ii:int = 0; ii < myarray1.length; ii++) {
            var localVals:Object = {
                x1:myarray1[ii],
                y1:myarray2[ii],
                x2:myarray3[ii],       
                y2:myarray4[ii]
            };
            result.push(localVals); // Push new object onto the data array.
        }           
        return result;
    }
公共函数initApp():void{
//初始化数据提供程序数组。
数据集=新的ArrayCollection(genData());
}
公共函数genData():数组{
变量结果:数组=[];
包括“Data\u File.as”;//加载myarray示例数据
对于(变量ii:int=0;ii
变量“dataSet”用于绘制多个系列,如下所示

<mx:LineChart id="myChart" dataProvider="{dataSet}">
    <mx:series>
        <mx:LineSeries id="series1" xField="x1" yField="y2"/>
        <mx:LineSeries id="series2" xField="x2" yField="y2"/> 
    </mx:series>
</mx:LineChart>

当array1和array2的长度不等于array3和array4的长度时,有人能推荐如何将array1、array2、array3和array4分别放入x1、y1、x2、y2中吗?或者,同等结果


我假设所有内容都必须通过数据集输入,但我想知道是否可以直接从
引用数组1(等),以避免在不必要的数组(例如数据集)上浪费内存。

如果数组不够长,如何将索引设置为值

var array:Array = new Array();
trace(array.length); // 0
if (array.length < 10) {
    array[9] = undefined;
}
trace(array.length); // 10
var数组:数组=新数组();
跟踪(array.length);//0
如果(数组长度<10){
数组[9]=未定义;
}
跟踪(array.length);//10

谢谢Nyquist,我的数组非常大,我想知道有几百个未定义的元素是否会影响性能。如果这不起作用,请尝试一下,然后发回结果。如果成功,也可以再次发布:)这看起来也是一个有效的解决方案。我找到的一个解决方案是在
代码行中插入
dataProvider=“{dataSet1}”
,然后像genData()中那样使用myarray1和myarray2定义dataSet1(除了删除x2和y2行代码),然后更改initApp()函数为dataSet1调用genData()一次,为dataSet2调用另一次。