确定多个数组的唯一值(使用`d3.nest`)

时间:2017-02-15 07:10:22

标签: d3.js nested reduce

我有一个大型数据集,其中每个条目都有这种形状:

{
    id: 'foo',
    name: 'bar',
    tags: ['baz', 'qux']
}

我知道如何使用d3.nest在我的数据集中查找所有唯一的name

d3.nest()
    .key(d => d.name)
    .rollup(d => d[0])
    .entries(data)
    .map(d => d.key);

如何在我的数据集中找到所有唯一tag,最好使用d3.nest()?我可以滚动自己的减速机,但如果可能的话,我宁愿坚持使用d3范例。

1 个答案:

答案 0 :(得分:0)

好的,有时最好跳过图书馆并推出自己的答案。它很简单:

let allTags = Object.keys(data.reduce((acc, d) => {
    d.tags.forEach(n => acc[n] = true);
    return acc;
}, {}));

也许这将有助于将来。

¯\ _(ツ)_ /¯