如何过滤D3数据

时间:2015-11-09 07:25:10

标签: javascript d3.js filtering

我有一个JSON格式数据集

[  
{"period":"daily", "date":"2015-04-01", "Sales_Total_Activity":0, "Sales_Emails":0},
{"period":"daily", "date":"2015-04-02", "Sales_Total_Activity":5, "Sales_Emails":4},
{"period":"weekly", "date":"2015-04-03", "Sales_Total_Activity":8, "Sales_Emails":9},
{"period":"weekly", "date":"2015-04-04", "Sales_Total_Activity":2, "Sales_Emails":6}
]

并且希望能够对其进行过滤,以便我只提取与"每周"相关联的数据。条目。做这个的最好方式是什么。我试过看过d3.nest的实施,但没有取得多大进展。我必须写一个特殊的功能吗?

由于

1 个答案:

答案 0 :(得分:4)

只需应用一些Array.prototype.filter

  

filter()方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。

var array = [
        { "period": "daily", "date": "2015-04-01", "Sales_Total_Activity": 0, "Sales_Emails": 0 },
        { "period": "daily", "date": "2015-04-02", "Sales_Total_Activity": 5, "Sales_Emails": 4 },
        { "period": "weekly", "date": "2015-04-03", "Sales_Total_Activity": 8, "Sales_Emails": 9 },
        { "period": "weekly", "date": "2015-04-04", "Sales_Total_Activity": 2, "Sales_Emails": 6 }
    ],
    filtered = array.filter(function (a) { return a.period === 'weekly'; });
document.write('<pre>' + JSON.stringify(filtered, 0, 4) + '</pre>');