2017-11-30 7 views
0

私はジャンル別にネストしたいムービーのデータベースを持っています。問題は、各映画が複数のジャンルを持つことができるということです。私はいくつかの映画がそう配列をd3ネストキーとして使用できますか?

[ 
    { 
     title : 'foo', 
     genres : ['Action', 'Comedy', 'Thriller'] 
    },{ 
     title : 'bar', 
     genres : ['Action'] 
    } 
] 

のようにフォーマットしているのであれば、私は、個々のジャンル別巣それらを結果は直接

[ 
    { 
     key: 'Action', 
     values: [ { title: 'foo' }, { title: 'bar'} ] 

    },{ 
     key: 'Comedy', 
     values: [ { title: 'foo' } ] 

    },{ 
     key: 'Thriller', 
     values: [ { title: 'foo' } ] 

    } 
] 
+0

あなたの結果が有効ではありません。 –

答えて

2

ないになるようにしたいのですが、あなたはあなたのアレイを拡張することができます

例えば

:あなたのアレイを拡張する

jj = [{ genre: ['thriller', 'comedy'], title: 'foo'}, { genre: ['thriller', 'action'], title: 'papa'}] 

jj2 = [] 
jj.forEach(function(movie) { movie.genre.forEach(function(single_genre) { jj2.push({ language: movie.language, genre: single_genre, title: movie.title }); }); }) 

次に、あなたは通常どおりネスティングを実行することができます。

d3.nest().key(function(d) { return d.genre; }).entries(jj2) 
+0

それが私の考えです。とにかくこれが私のやり方です。 –

関連する問題