根据嵌套数组中的值过滤项目
Filter items based on value in nested array
如何使用 javascript 过滤结果,以便从结果中排除包含 tag
'help' 的任何 item
?
这是我找回的对象以及我目前拥有的对象,但显然不起作用:
const data = {
result: true,
items: [{
tags: ['typography', 'inspiration'],
title: 'Typefaces Inspired by the Bauhaus',
},
{
tags: ['layout', 'ratio', 'help'],
title: 'Building a combined CSS-aspect-ratio-grid',
},
]
}
const items = data.filter(data => data.tags !== 'help');
console.log(items)
data.items.filter(item=> !item.tags.some(tag => tag === 'help'))
如果任何标签等于 'help',有些将 return 为真,因此当某些 return 为假
时,对 select 项目使用过滤器
您需要过滤 data.items 并使用 !some
或 !includes
这里是 data
没有使用 includes
项目的帮助
const data = {
result: true,
items: [{
tags: ['typography', 'inspiration'],
title: 'Typefaces Inspired by the Bauhaus',
},
{
tags: ['layout', 'ratio', 'help'],
title: 'Building a combined CSS-aspect-ratio-grid',
},
]
}
data.items = data.items.filter(item => !item.tags.includes('help'));
console.log(data)
如何使用 javascript 过滤结果,以便从结果中排除包含 tag
'help' 的任何 item
?
这是我找回的对象以及我目前拥有的对象,但显然不起作用:
const data = {
result: true,
items: [{
tags: ['typography', 'inspiration'],
title: 'Typefaces Inspired by the Bauhaus',
},
{
tags: ['layout', 'ratio', 'help'],
title: 'Building a combined CSS-aspect-ratio-grid',
},
]
}
const items = data.filter(data => data.tags !== 'help');
console.log(items)
data.items.filter(item=> !item.tags.some(tag => tag === 'help'))
如果任何标签等于 'help',有些将 return 为真,因此当某些 return 为假
时,对 select 项目使用过滤器您需要过滤 data.items 并使用 !some
或 !includes
这里是 data
没有使用 includes
const data = {
result: true,
items: [{
tags: ['typography', 'inspiration'],
title: 'Typefaces Inspired by the Bauhaus',
},
{
tags: ['layout', 'ratio', 'help'],
title: 'Building a combined CSS-aspect-ratio-grid',
},
]
}
data.items = data.items.filter(item => !item.tags.includes('help'));
console.log(data)