Javascript new Highcharts.chart返回一组图表[未定义,a.chart]

Javascript new Highcharts.chart返回一组图表[未定义,a.chart],javascript,charts,highcharts,Javascript,Charts,Highcharts,我有一个函数可以创建新的Highcharts。但是,当我创建一个新图表,并在之后记录Highcharts.charts数组时,它会在数组中显示一个未定义的元素。我怎样才能防止这种情况发生 <!-- Div to hold the occ chart --> <div id="dialog2"> <div id="canvas2" width="600" height="400"></div> </div> $("#divId"

我有一个函数可以创建新的Highcharts。但是,当我创建一个新图表,并在之后记录Highcharts.charts数组时,它会在数组中显示一个未定义的元素。我怎样才能防止这种情况发生

<!-- Div to hold the occ chart -->
<div id="dialog2">
    <div id="canvas2" width="600" height="400"></div>
</div>

$("#divId").click(function() {
    createChart('canvas2', occChartOpts);
    theDialog2.dialog('open');   
})

//general function to create chart
function createChart(id, options) {
    return new Highcharts.chart(id, options);
}

//options object for occupancy chart
var occChartOpts = {
    chart: {
        type: 'areaspline'
    },
    title: {
        text: 'Hourly Home vs Office Occupancy'
    },
    legend: {
        layout: 'vertical',
        align: 'left',
        verticalAlign: 'top',
        x: 150,
        y: 100,
        floating: true,
        borderWidth: 1,
        backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'
    },
    xAxis: {
        categories: [
            '12am - 4am',
            '4am - 8am',
            '8am - 12pm',
            '12pm - 4pm',
            '4pm - 8pm',
            '8pm - 12am'
        ],
    },
    yAxis: {
        title: {
            text: 'Percent'
        }
    },
    tooltip: {
        shared: true,
        valueSuffix: '%'
    },
    credits: {
        enabled: false
    },
    plotOptions: {
        areaspline: {
            fillOpacity: 0.5
        }
    },
    series: [{
        name: 'Home',
        data: [95, 55, 10, 15, 45, 90]
    }, {
        name: 'Office',
        data: [5, 45, 90, 85, 55, 10]
    }]
}

$(“#divId”)。单击(函数(){
createChart('canvas2',occChartOpts);
对话框(“打开”);
})
//创建图表的常规函数
函数createChart(id、选项){
返回新的Highcharts.chart(id,选项);
}
//入住率图表的选项对象
变量occChartOpts={
图表:{
类型:'areaspline'
},
标题:{
文字:“每小时家庭与办公室占用率”
},
图例:{
布局:“垂直”,
对齐:“左”,
垂直排列:“顶部”,
x:150,
y:100,
浮动:是的,
边框宽度:1,
背景颜色:(Highcharts.theme&&Highcharts.theme.legendBackgroundColor)| |'#FFFFFF'
},
xAxis:{
类别:[
‘上午12时至4时’,
‘上午四时至八时’,
‘上午八时至下午十二时’,
‘下午12时至4时’,
‘下午四时至八时’,
“晚上8点至凌晨12点”
],
},
亚克斯:{
标题:{
文本:“百分比”
}
},
工具提示:{
分享:是的,
值后缀:''
},
学分:{
已启用:false
},
打印选项:{
面积样条曲线:{
填充不透明度:0.5
}
},
系列:[{
姓名:'家',
数据:[95,55,10,15,45,90]
}, {
名称:'办公室',
数据:[5,45,90,85,55,10]
}]
}

因此,直接按array.prototype.shift()修改数组。你为什么要改变这种行为?所以我写了一封回复给你,详细说明了我是如何做到的,但它没有正常工作,我意识到我做错了。所以,这个解决方案工作得很好,可以产生一个未定义的自由数组。然而,你知道为什么会发生这种情况吗?奇怪的是,我有两个图表,这只发生在我创建一个图表时,而不是另一个。我看不出代码上的差异。