我正在尝试过滤 array
的objects
通过summary
嵌套属性,如果它包含单词 Save
在 summary
支撑值string
。这是array
:
const issues = [{
id: '1',
key: 'CLS-1',
fields: {
summary: 'Save princess',
assignee: 'Mario',
}
},
{
id: '2',
key: 'CLS-2',
fields: {
summary: 'Save Mario',
assignee: 'Luigi',
}
},
{
id: '3',
key: 'CLS-3',
fields: {
summary: 'Kidnap princess',
assignee: 'Bowser',
}
},
{
id: '4',
key: 'CLS-3',
fields: {
summary: 'Get kidnap!',
assignee: 'Peach',
}
},
]
我尝试过这个单行:
const getItemsBySummary = items.filter(item => item.fields.includes('Save'));
但我收到错误 item.fields.includes
不是一个函数. I'm guessing because
字段 is an
对象instead of an
数组 so it cannot run the method
包括()`。不过,我尝试过这样
const getItemsBySummary = items.filter(item => [item.fields].includes('Save'));
但是我得到一个空数组。我做错了什么?
最佳答案
因为 fields 是一个对象,并且您想根据属性摘要进行过滤,所以您应该使用它:/
const getItemsBySummary = items.filter(item => item.fields.summary.includes('Save'));
关于javascript - 我试图通过访问嵌套属性并检查它的属性值是否包含特定字符串来过滤数组中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65621889/