0

我在将字符串添加到变量 json 字符串时遇到问题,脚本是这样的:

    var  myNewData4 =[];
    for (var i = 0, l = row; i < l; i++) {
      myNewData4 = [{
            x: datatime[i],
            y: 44,
            title: datalayer[i],
            obj: 'fff'
        }];

    }

当我运行该脚本时,担架总是失败。我使用该脚本在 highstock 图表中添加数据标志,

这是为添加标志创建 highstock 图表的脚本的一部分:

       {
            type: 'flags',
            name: 'Flags on series',
            data: myNewData4,
            onSeries: 'dataseries',
            shape: 'squarepin',
            tooltip: {
                valueDecimals: 2
            }
        }

如果我像下面的脚本一样使用该脚本而没有 for 循环成功,则可以读取 highstock 图表。

      var  myNewData4 =[]       
      myNewData4 = [{
            x: 1360774800000,
            y: 44,
            title: 'BRF',
            obj: 'fff'
        }];

如何使用循环将字符串添加到变量 json 字符串中以在 highstock 图表中添加标志?谢谢。

4

2 回答 2

0

你的意思是这样的:

var  myNewData4 =[];
for (var i = 0, l = row; i < l; i++) {
    //since myNewData4 is an array, push a new object into it.
    myNewData4.push({
        x: datatime[i],
        y: 44,
        title: datalayer[i],
        obj: 'fff'
    });
}

编辑:

由于您的设置数组的代码直接有效,因此想到以下内容:尝试访问 datatime[i] 或 datalayer[i] 时,您的 javascript 引擎中是否出现引用/越界错误?

于 2013-04-16T06:34:48.510 回答
0

我认为这可能会更好:

var  myNewData4 =[];
for (var i = 0, l = row; i < l; i++) {
  myNewData4.push({
        x: datatime[i],
        y: 44,
        title: datalayer[i],
        obj: 'fff'
    });
}

这将为您提供一个row对象数组,而不是单个对象的数组。

于 2013-04-16T06:34:57.120 回答