javascript - 如何使用 es6 过滤对象值

标签 javascript reactjs ecmascript-6

我有一个 2 对象,我不想用 es6 进行过滤

首先是我的数据对象,其次选择了一些数据。

我不想获取数据对象中具有第二个对象值的所有项目

let data = [
  {
    id: 1,
    name: 'A',
    status: 1
  },
  {
    id: 2,
    name: 'B',
    status: 1
  },
  {
    id: 3,
    name: 'C',
    status: 3
  },
  {
    id: 4,
    name: 'D',
    status: 2
  }
]

第二个对象是:

let selectedStatus = [
  {
    id: 1,
    status: 1
  },
  {
    status: 3
  }
]

在这种情况下,我不想在第二个对象中获取包含相同状态的数据对象项,因此在这种情况下,我需要获得以下结果:

data = [
  {
    id: 1,
    name: 'A',
    status: 1
  },
  {
    id: 2,
    name: 'B',
    status: 1
  },
  {
    id: 3,
    name: 'C',
    status: 3
  },
]

最佳答案

你可以这样做:

data = data.filter(item =>
  selectedStatus.map(s => s.status).includes(item.status)
);

关于javascript - 如何使用 es6 过滤对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58337349/

相关文章:

JAVASCRIPT:IE:outerHTML

javascript - 将两个数组转换为 JSON 对象

javascript - 使用 useEffect 和 useLocation

javascript - 为什么使用生成器时 const 的值会发生变化?

javascript - 误报 "Lexical declarations require ECMAScript 6"和 "TypeScript 1.x feature. Current language is 1.4"错误消息

javascript - 对象解构 ({ x, y, ...rest }) 用于将对象的属性列入白名单

javascript - Angular2 - 如何在(点击)或(routerLink)之前触发事件

javascript - 我们能否将HTML页面中的遍历标识从虚线矩形改为 block ?

javascript - 如何在 react 中更改 pdf 的高度或宽度(npm react-pdf)

javascript - React Router 不会根据状态重定向