【发布时间】:2011-08-10 17:28:43
【问题描述】:
我正在运行一个 asp.net 代码隐藏,它创建一个字符串变量,该变量包含一个用逗号分隔的浮点数集合。在 C# 中是这样的
string myCString = "4.5, 3.1, 6.5, 7.0, -1.3";
这个变量然后进入一个 asp.net 网页,在该网页中它被分配给一个 JavaScript 变量:
var myJString = '<%=myCString %>';
现在我们进入 Highcharts,其中普通系列的语法如下所示:
series: [{
name: 'Series1',
data: [1.1, 3.8, 5.3, 9.8, 5.0]
}]
我想做的是将 myJString 分配给系列的数据字段。我尝试了两种方法,但都没有奏效。解决方案可能是微不足道的,但我远不是一个狂热的程序员。看起来问题的核心是 Highcharts 需要一个数字数组而不是字符串。但是,我对 JavaScript 中方括号的理解是它们将其中的任何内容转换为字符串?
以下是 不 起作用的:
series: [{
name: 'Series1',
data: myJString // does not work
}]
series: [{
name: 'Series1',
data: myJString - 0 // does not work either
}]
第二次尝试来自highcharts - variable data causes browser lockup 回想起来,它没有工作是有道理的,因为从不仅仅是数字的字符串中减去 0 没有达到目标。
第一次尝试失败也是有道理的,因为它似乎想要一个数字数组而不是字符串。现在回答我的实际问题:
我能否在 JavaScript 中廉价地转换逗号分隔的浮点数字符串,以便在数据字段中使用它,如果可以,我该怎么做?在代码隐藏中执行此操作并将数组传递给 JavaScript,然后用数组尝试整个事情会更好(性能方面)吗?这是假设 myJString 不是浮点数组是实际问题。
提前感谢您提供的任何见解。
【问题讨论】:
-
每个列表的末尾都有一个多余的逗号。在某些浏览器中会失败。
-
好眼光! ;) 该逗号实际上是我在复制和粘贴工作不佳时造成的用户错误工件,将编辑原件以将其删除,以免其他人感到困惑。
标签: javascript arrays string type-conversion highcharts