如何将字符串添加到变量json字符串中以在highstock图表中添加标记

时间:2013-04-16 06:29:39

标签: javascript json highstock

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

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

    }

当我运行该脚本时总是失败的担架。我使用该脚本在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图表中添加标记? 感谢。

2 个答案:

答案 0 :(得分: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引擎中是否出现了引用/越界错误?

答案 1 :(得分: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个对象,而不是单个对象的数组。