谷歌可视化 - 发送二维数组,但无法正常工作

时间:2015-07-16 13:51:20

标签: javascript arrays multidimensional-array google-visualization

使用谷歌可视化绘制图形,如果我像这样在JS文件中硬编码数据,如果工作完全正常。

data.addRows([[100, 30],[200, 70],[246, 150],[512, 780]]);
我理解的很明显是2D JS数组。 但是,当我试图动态发送它时,它不起作用。请检查代码。

dataFromText = "100,30,200,70,246,150,512,780";
dataFromText = dataFromText.split(',');
while(dataFromText[0]) {
        result.push(dataFromText.splice(0,2));
    }
alert(result[1]); // this line  prints 200,70
data.addRows([result]);

有人可以帮忙吗?

提前致谢!

2 个答案:

答案 0 :(得分:2)

请试试这个: 与您共享的代码一样,结果变量包含字符串而不是数字。

dataFromText = "100,30,200,70,246,150,512,780";
dataFromText = dataFromText.split(',').map(Number);//converting string to number
var result = [];
while(dataFromText[0]) {
        result.push(dataFromText.splice(0,2));
    }
console.log(result);
data.addRows(result);

答案 1 :(得分:0)

result已经是一个二维数组,额外的括号会破坏它。尝试删除result

周围的方括号

var dataFromText = "100,30,200,70,246,150,512,780";
var dataFromText = dataFromText.split(',');
var result=[];
while(dataFromText[0]) {
        result.push(dataFromText.splice(0,2));
    }
console.log(JSON.stringify(result)); // this line  prints 2d array
data.addRows(result);