Я создаю цикл for, который генерирует графики.Проблема, с которой я столкнулся, заключается в том, что я помещаю свой сценарий генерации графа в цикл for в перерывах, сообщая мне сообщение об ошибке «Не удается прочитать свойство« push »из неопределенного для массива datapoint. Однако код работает вне цикла for.
datapoint=[[1],[1]]
LabelList=[]
Classyaverage=0
colorOption=""
ChartName = 'Chart0'
NumOfCharts = 2
ChartNum = 1
TotalChartNum = 2
ListNum = 0
counter = 0
public graphComponent: GraphComponent= new GraphComponent();
constructor(private HttpModule : Http) { } // end of constructor
public graphGenerator(){
Перерывы как это
this.ListNum = 9
for(this.counter = 1; this.counter <= this.NumOfCharts; this.counter++){
var i=0
this.LabelList=[]
this.ChartNum = this.counter
this.ChartName = this.ChartName.slice(0,-1)
this.ChartName = this.ChartName + this.counter
console.log(this.ChartName)
while(i< this.ListNum){
i++
this.LabelList.push('')
}
this.datapoint[this.ChartNum].push(this.Classyaverage)
if(Object.keys(this.datapoint[this.ChartNum]).length > this.ListNum){
this.datapoint[this.ChartNum].shift()
}
this.graphComponent.setGraph(this.datapoint, this.LabelList, this.ChartName, this.ChartNum)
}
Работает как это
var i=0
this.LabelList=[]
this.ChartNum = 1
this.ChartName = 'ChartA'
this.ListNum = 19
while(i< this.ListNum){
i++
this.LabelList.push('')
}
this.datapoint[this.ChartNum].push(this.Classyaverage)
if(Object.keys(this.datapoint[this.ChartNum]).length > this.ListNum){
this.datapoint[this.ChartNum].shift()
}
this.graphComponent.setGraph(this.datapoint, this.LabelList, this.ChartName, this.ChartNum)
setTimeout(() => { this.graphGenerator(); }, 500);
}