首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我试图通过访问嵌套属性来过滤数组中的项&检查它的属性值是否包含某个字符串

我试图通过访问嵌套属性来过滤数组中的项&检查它的属性值是否包含某个字符串
EN

Stack Overflow用户
提问于 2021-01-08 08:35:05
回答 2查看 35关注 0票数 2

我正在尝试通过summary嵌套属性过滤objectsarray,前提是它在summary属性值string中包含单词Save。这是array

代码语言:javascript
复制
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',
    }
  },
]

我已经尝试了这一行:

代码语言:javascript
复制
const getItemsBySummary = items.filter(item => item.fields.includes('Save'));

但是我得到了错误消息item.fields.includes is not a function. I'm guessing because fieldsis anobjectinstead of anarrayso it cannot run the methodincludes()`.然而,我试着这样做

代码语言:javascript
复制
const getItemsBySummary = items.filter(item => [item.fields].includes('Save'));

但是我得到了一个空数组。我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-08 08:38:59

既然字段是一个对象,并且你想要根据属性摘要进行过滤,你应该使用下面的代码:/

代码语言:javascript
复制
const getItemsBySummary = items.filter(item => item.fields.summary.includes('Save'));
票数 2
EN

Stack Overflow用户

发布于 2021-01-08 08:40:12

您需要item.fields.summary才能访问必填字段。

代码语言:javascript
复制
const items = [{
    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 res = items.filter(item => item.fields.summary.includes('Save'));
console.log(res);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65621889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档