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:。