2017-02-15 18 views
0

у меня есть большой набор данных, в котором каждый элемент имеет такую ​​форму:Определение уникальных значений по нескольким массивам (с `d3.nest`)

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

Я знаю, как найти, скажем, все уникальные name с в мой набор данных с помощью d3.nest:

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

Как я могу найти все уникальные tag с в моем наборе данных, предпочтительно с использованием d3.nest()? Я мог бы свернуть собственный редуктор, но, если возможно, предпочтет придерживаться парадигм d3.

+0

Действительно ли он вам нужен, используя 'd3.nest()'. Для этого есть 1 ванильное решение. –

+0

Нет. Я ответил на свой собственный глупый вопрос ниже. Спасибо @GerardoFurtado. – ericsoco

ответ

0

Хорошо, иногда лучше просто пропустить библиотеку и опрокинуть свой собственный ответ. Это так просто:

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

Возможно, это поможет кому-то в будущем.

¯ \ _ (ツ) _/¯