需要在Google Chart中检查多个变量(或隐藏未透过的值)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了需要在Google Chart中检查多个变量(或隐藏未透过的值)相关的知识,希望对你有一定的参考价值。
可能有更好的方法来做到这一点,但我有一个谷歌图表,我必须传递24个变量。
最终目标是仅显示实际传递的数字,并忽略不实际传递的数字。我知道如果我做了24个if语句,这是可能的,但我想知道是否有更好的方法来做到这一点。
基本上我正在调用这个函数
function drawGoogFinanceChart(chartnamelong, chartobj) {
然后我将所有参数设置为创建的内容。我这样做,因为否则图表中断(它无法处理未定义)。
{
var v1 = chartobj.onemil;
var v2 = chartobj.halfmil
var v3 = chartobj.onehundo;
var v4 = chartobj.fiftythous;
var v5 = chartobj.tenthous;
var v6 = chartobj.ninethous;
var v7 = chartobj.eightthous;
var v8 = chartobj.seventhous;
var v9 = chartobj.sixthous;
var v10 = chartobj.fivethous;
var v11 = chartobj.fourthous;
var v12 = chartobj.threethous;
var v13 = chartobj.twothous;
var v14 = chartobj.onethous;
var v15 = chartobj.ninehund;
var v16 = chartobj.eighthund;
var v17 = chartobj.sevenhund;
var v18 = chartobj.sixhund;
var v19 = chartobj.fivehund;
var v20 = chartobj.fourhund;
var v21 = chartobj.threehund;
var v22 = chartobj.twohund;
var v23 = chartobj.hund;
var v24 = chartobj.other;
}
然后我显然把所有变量都放到了图表中......
var data = google.visualization.arrayToDataTable([
['Amount', 'Respondents'],
['1 Million', v1],
['500,000', v2],
['100,000', v3],
['50,000', v4],
['10,000', v5],
['9,000', v6],
['8,000', v7],
['7,000', v8],
['6,000', v9],
['5,000', v10],
['4,000', v11],
['3,000', v12],
['2,000', v13],
['1,000', v14],
['900', v15],
['800', v16],
['700', v17],
['600', v18],
['500', v19],
['400', v20],
['300', v21],
['200', v22],
['100', v23],
['Other', v24]
]);
我宁愿不显示零值。我知道如果我做了类似的话,我可以做到这一点
if (chartobj.onemil != undefined) {
data.push(['1 Million', v1]);
}
但那时我必须这样做24次。我只是想知道是否有更清洁的方法来做到这一点(或完全不同的方式来做它!)
带过滤器的Object.entries应该可以胜任 因为Object.entries支持不是那么好,所以你应该使用polyfill
// const obj = { foo: 'bar', baz: 42 };
// console.log(Object.entries(obj));
// [ ['foo', 'bar'], ['baz', 42] ]
// filter will only return the arrays with value different than undefined
const data = Object.entrie(chartobj).filter(([key, value]) => value !== undefined);
google.visualization.arrayToDataTable(data)
以上是关于需要在Google Chart中检查多个变量(或隐藏未透过的值)的主要内容,如果未能解决你的问题,请参考以下文章
在Google Chart API(Javascript)中使用多个工作表
Google Chart和Chart.Js,在Asp .NET Core 2.2中将脚本端发送C#变量
MySQL #1422 存储函数或触发器中不允许显式或隐式提交
在Chart.js图表 中加载Google Analytics中的数据