Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用{}在变量中包含变量_Javascript_Variables - Fatal编程技术网

Javascript 如何使用{}在变量中包含变量

Javascript 如何使用{}在变量中包含变量,javascript,variables,Javascript,Variables,我有: var lineArea = new Chartist.Line('#line-area', { labels: ['a', 'b', 'c', 'd'], ~break 我必须用变量替换abcd: var mondays = document.getElementById('mondays').innerHTML; alert(mondays); var lineArea = new Chartist.Line('#line-area', { labels:

我有:

      var lineArea = new Chartist.Line('#line-area', {
      labels: ['a', 'b', 'c', 'd'], 
~break
我必须用变量替换abcd:

var mondays = document.getElementById('mondays').innerHTML; alert(mondays); var lineArea = new Chartist.Line('#line-area', { labels: [{mondays}], series: [ [0, 20, 10, 45, 20, 36, 21, 0], [0, 5, 22, 14, 32, 12, 28, 0] ] }, { low: 0, showArea: true, fullWidth: true, onlyInteger: true, axisY: { low: 0, scaleMinSpace: 50, }, axisX: { showGrid: false } });

然而,这和我盲目尝试的其他东西都不起作用。实际结果是[对象] 正在展示


如何在这样的变量中插入变量?

不要尝试将字符串文本传递到数组声明中,只需通过在innerHTML中拆分字符串来生成数组。这是最简单的解决方案,您可以将编码的JSON存储在innerHTML中并对其进行解析,但这似乎要简单得多

//Assume innerHTML = "a,b,c'd"
var monday = document.getElementById('mondays').innerHTML;    

//Split the string based of comma to generate an array of strings
var mondaysArr = monday.split();

//Pass in the array
var lineArea = new Chartist.Line('#line-area', mondaysArr);
逐步:

以内部html为例 用逗号分开 删除引号 text=document.getElementById'mondays'.innerHTML 数组=文本。拆分',' // !! labels=array.mape=>e.split'.join console.log'text',text console.log'array',array // !! console.log'labels',labels ‘04/29’、‘05/06’、‘05/13’、‘05/20’、‘05/27’、‘06/03’、‘06/10’、‘06/17’、‘06/24’我自己做的。 我会用我的解决方案让你厌烦。。。最平滑的解决方案: 我将整个内容放在一个PHP文件中,因为字符串是用PHP生成的。另外,由于我隐藏在div中的PHP变量已经被称为“$mondays”,所以我所要做的就是: 标签:[],
它工作得非常好。

打开devtool,看看什么是mondays mondays?document.getElementById'mondays'。innerHTML将是一个字符串,['a','b','c','d']是一个数组。它们不是真的可以互换的,所以很不清楚你想要实现什么。实际上会导致[object]被显示。-那么你的很多代码都丢失了。您提供的代码中没有任何内容会导致显示任何内容。你需要提供一个清晰的问题陈述。提供id=mondaysorry的HTML,这打破了它。我对这件事太无知了。我讨厌JSON,我想是因为这些奇怪的东西。但是,感谢您的拍摄。请注意,手动格式化字符串,使其看起来像可以复制并粘贴到Javascript源代码中的Javascript片段,并不是一种好方法$mondays应该是一个包含字符串的数组,例如array04/29,…,然后使用json_encode将其格式化为等效的Javascript数组,然后直接用作数组:labels:。