Javascript GoogleCharts从主数据数组中删除数组

Javascript GoogleCharts从主数据数组中删除数组,javascript,jquery,charts,Javascript,Jquery,Charts,我有以下脚本: google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); function drawChart() { var data = google.visualization.arrayToDataTable([ ['Year', 'Sales', 'Expenses'], ['2004', 1000,

我有以下脚本:

  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Year', 'Sales', 'Expenses'],
      ['2004',  1000,      400],
      ['2005',  1170,      460],
      ['2006',  660,       1120],
      ['2007',  1030,      540],
      ['2009',  1030,      540],
      ['2011',  1,      677]
    ]);

    var options = {
      title: 'Company Performance',
      curveType: 'function',
      legend: { position: 'bottom' }
    };

    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    chart.draw(data, options);

    function swicthGraphType(){
      $("input[type='radio']").click(function(){

        var thisValue = $(this).attr("data-lineType");

        console.log(data.Ad[0]);

        if(thisValue == ""){
          options.curveType = '';
        }
        if(thisValue == "function"){
          options.curveType = 'function';
        }

        chart.draw(data, options);


      });
    }

     swicthGraphType();

  }
我想创建一个单击函数,暂时删除其中一个数组,例如:

data.Ad[0]

当我想的时候,把它放回图表里。基本上,我需要一个函数,我可以用它来显示我需要在图形中看到的内容。

解决方案a:
添加数组变量
var blackList=[]

编写一个过滤函数,
function dataFilter(){}
,它循环数据的每个元素,如果它不在黑名单中,则将其添加到新数组,最后返回新数组。
然后使用新数组填充图表,而不是原始数据。
您可以修改黑名单变量,以决定过滤或不过滤哪个。

解决方案B(基于A):
对黑名单使用对象而不是数组:

如果您认为将黑名单修改为数组并不容易,那么您可以将黑名单创建为对象,使用对象的属性存储黑名单,属性名称为年份,例如2006,属性值为您当年的数据

添加/覆盖黑名单元素:
blackList[2006]=['2006',660,1120]
读取/检测黑名单元素:
黑名单[2006]


删除黑名单元素:
删除黑名单[2006]

也许您可以添加一个jsfiddle.net?这样一来,不熟悉谷歌图表的人可能会受到攻击。