将变量添加到变量javascript中

时间:2013-11-08 21:49:29

标签: javascript

我想将qm.negativesData字符串添加到下面的qm.data中。但是我收到语法错误。任何人都可以帮我这个吗?

qm.data = [{
    "xScale":"ordinal",
    "comp":[],
    "main":[{qm.negativesData},{qm.positivesData}],
    "type":"line-dotted",
    "yScale":"linear"}];

qm.negativesData和qm.positivesData包含一个字符串,其中包含用于构建图表的数据。

///更新

qm.negativesData的输出例如是:

"{"className":".main.l1","data":[{"x":"2013-10-16","y":"3283581"},{"x":"2013-10-17","y":"1512116"},{"x":"2013-10-18","y":"3967"},{"x":"2013-10-19","y":"1094"},{"x":"2013-10-20","y":"853"},{"x":"2013-10-21","y":"1205"},{"x":"2013-10-22","y":"2618700"},{"x":"2013-10-23","y":"3928291"},{"x":"2013-10-24","y":"3670318"},{"x":"2013-10-25","y":"3347369"},{"x":"2013-10-26","y":"2525573"},{"x":"2013-10-27","y":"3224612"},{"x":"2013-10-28","y":"3992964"},{"x":"2013-10-29","y":"3949904"},{"x":"2013-10-30","y":"3568618"},{"x":"2013-10-31","y":"3104696"},{"x":"2013-11-01","y":"3246932"},{"x":"2013-11-02","y":"2817758"},{"x":"2013-11-03","y":"3198856"},{"x":"2013-11-04","y":"3952957"},{"x":"2013-11-05","y":"3934173"},{"x":"2013-11-06","y":"3878718"},{"x":"2013-11-07","y":"3642822"},{"x":"2013-11-08","y":"3388646"},{"x":"2013-11-09","y":"318335"}]}"

我认为它不应该以"并以"结束这会导致错误..有没有办法排除" ?

3 个答案:

答案 0 :(得分:2)

在JavaScript对象文字中,花括号用于键值对。因此,{qm.negativesData}无效。

如果您想将main设置为包含qm.negativesDataqm.positivesData值的数组,您可以使用:

qm.data = [{
    "xScale":"ordinal",
    "comp":[],
    "main":[qm.negativesData, qm.positivesData],
    "type":"line-dotted",
    "yScale":"linear"}];

答案 1 :(得分:0)

尝试使用简单的数组:

qm.data = [{
    "xScale":"ordinal",
    "comp":[],
    "main":[qm.negativesData,qm.positivesData],
    "type":"line-dotted",
    "yScale":"linear"}];

这意味着qm.data.main[0] == qm.negativesDataqm.data.main[1] == qm.positivesData

或者你可能想要这样的东西:

qm.data = [{
    "xScale":"ordinal",
    "comp":[],
    "main":{
        "negativesData":qm.negativesData,
        "positivesData":qm.positivesData},
    "type":"line-dotted",
    "yScale":"linear"}];

这意味着qm.data.main.negativesData == qm.negativesDataqm.data.main.positivesData == qm.positivesData

答案 2 :(得分:0)

使用Array.prototype.concat将两个数组连接成一个新数组:

qm.data = [{
    "xScale":"ordinal",
    "comp":[],
    "main":qm.negativesData.concat(qm.positivesData),
    "type":"line-dotted",
    "yScale":"linear"}];

或者使用+将两个字符串添加到一个新字符串中:

qm.data = [{
    "xScale":"ordinal",
    "comp":[],
    "main":qm.negativesData + qm.positivesData,
    "type":"line-dotted",
    "yScale":"linear"}];

目前尚不清楚您拥有哪些数据(更重要的是)最终需要哪些数据。 main的{​​{1}}字段需要看起来像什么?

<子> P.S。如果密钥的名称是有效标识符,则不需要引用密钥的名称,这是JavaScript而不是JSON。例如,只需qm.data