我有以下包含数组的对象posts
:
var posts = { "posts": [{ "id": 83, "title": "Onfido helps iCracked win customers’ confidence", "slug": "onfido-helps-icracked-win-customers-confidence", "tags": [{ "id": 25, "slug": "case-studies" }, { "id": 10, "slug": "industry-news" }] }, { "id": 82, "title": "Machine learning makes banking more personal", "slug": "machine-learning-makes-banking-more-personal", "tags": [{ "id": 10, "slug": "industry-news" }] }, { "id": 81, "title": "11 reasons to join Onfido", "slug": "ten-reasons-to-join-onfido", "tags": [{ "id": 100, "slug": "our-expertise" }] }] }
使用Lodash,我想提取所有tags.slug
有价值的帖子"case-studies"
.目前我一直在尝试以下运气:
_.filter(posts, function(post) { _.filter(post.tags, function(tag) { return _.where(tag, {'slug': 'case-studies'}) }) })
我该怎么做?
Lodash
var out = _.filter(posts.posts, function (post) { return _.some(post.tags, { 'slug': 'case-studies' }); });
香草JS
var out = posts.posts.filter(function (el) { return el.tags.some(function (tag) { return tag.slug === 'case-studies'; }); });