我正在从下拉列表中读取值,具体取决于所选的选项。我正在使用jqPlot来绘制值。
jqPlot需要一组像[91, 6, 2, 57, 29, 40, 95]
但是当我从下拉框中读取值时,它将作为整个字符串"[91, 6, 2, 57, 29, 40, 95]"
我尝试拆分它,但我得到["91", "6", "2", "57", "29", "40", "95"]
,它不会正确显示图形。
是否有人之前遇到过类似的事情,我该怎么做才能让我的值转换为数字数组。
感谢您的帮助
答案 0 :(得分:5)
您可以使用JSON.parse()
将该字符串转换为JavaScript数组。字符串中的数字未引用,因此数组也将包含数字。并且您可以删除解析字符串的所有代码,因为您不再需要它了。
>>> JSON.parse("[91, 6, 2, 57, 29, 40, 95]")
[91, 6, 2, 57, 29, 40, 95]
如果您需要支持旧版浏览器,请添加json2.js以在不支持原生浏览器的浏览器中提供JSON支持。
答案 1 :(得分:2)
您可以使用JSON.parse将字符串“[91,6,2,57,29,40,95]”更改为数组:
(function(){
var a = '[1,2,3]';
var b = JSON.parse('[1,2,3]');
alert(b +'\n'+ typeof(b)+'\n'+ b[0] );
})()
答案 2 :(得分:2)
当你使用jQuery时,你可以做到
$.parseJSON("[91, 6, 2, 57, 29, 40, 95]");
答案 3 :(得分:1)
你可以使用
str.slice(1, -1).split(',').map(function(s){return parseInt(s, 10);});