質問: 入れ子になっているハッシュを参照して、絞り込み機能を実装したいと思っています。 dataの中身 ``` [{ "id":1, "tweet":"ツイート内容", "hashtags":[ {"hash":"ハッシュタグ1"}, {"hash":"ハッシュタグ2"} ] }, { "id":2, "tweet":"ツイート内容", "hashtags":[ {"hash":"ハッシュタグ1"}, {"hash":"ハッシュタグ2"} ] }] ``` `hash`の値を判定して、ツイートの絞り込みを行う場合、どのような書き方が良いでしょうか? `computed`内で`filter`を利用するのはわかるのですが、入れ子になった場合がわかりません。 ご教授いただければ幸いです。 ``` {{ tweet.tweet }} {{ hashtag.hash }} ```
回答: ``` { data: { tweets: [{ "id":1, "tweet":"ツイート内容", "hashtags":[ {"hash":"ハッシュタグ1"}, {"hash":"ハッシュタグ2"} ] }, { "id":2, "tweet":"ツイート内容", "hashtags":[ {"hash":"ハッシュタグ2"} ] }], target: 'ハッシュタグ1' }, computed: { hoge() { return this.tweets.filter(tweet => tweet.hashtags.some(tag => tag.hash === this.target)) } } } ``` ``` {{ tweet.tweet }} {{ hashtag.hash }} ``` のようにsomeを使ってfilterすれば良いと思います。