我正在使用谷歌可视化图表api,但我相信这是我正在制作的某种javascript错误。我用数字填充这个数组:
visibleRows = [];
并使其成为逗号分隔的字符串:
visibleRows.join(',');
console.logging visibleRows在此之后给出:
0,1,3
但是当我将visibleRows提供给函数的下一行:
pieViewHits.setRows([visibleRows]);
我收到错误:无效的行索引0,1,3应该在[0-3] BUT 的范围内,如果我用以下代码替换所有上面的代码:
pieViewHits.setRows([0,1,3]);
完美无缺!有什么想法吗?
答案 0 :(得分:0)
visibleRows
已经是一个数组,因此您不必将其作为[visibleRows]
传递(在方括号内)。
更改
pieViewHits.setRows([visibleRows]);
到
pieViewHits.setRows(visibleRows);
我认为您不需要使用visibleRows.join(',');
答案 1 :(得分:0)
[0,1,3]
是一个包含三个数字的数组
visibleRows.join(',');
返回逗号分隔的字符串。你不是在任何地方分配它,所以它什么都不做。
[visibleRows]
是一个包含第二个数组的数组,它依次包含三个数字。如果在字符串上下文中使用它,它将被展平为逗号分隔的字符串。
该函数需要一个包含三个数字的数组,而不是包含另一个数组的数组或包含逗号分隔字符串的数组。
只是传递数组而不将其包装在另一个数组中或join
它。
visibleRows = [];
visibleRows.push(0);
visibleRows.push(1);
visibleRows.push(3);
pieViewHits.setRows(visibleRows);