根据单独的对象键、值过滤对象数组

2024-02-03

我有以下一组人:

  const FIRST_ARRAY = [
    {
      name: 'Simon',
      age: 32,
      occupation: 'Student'
    },
    {
      name: 'Vera',
      age: 22,
      occupation: 'Developer'
    }
  ];

我想过滤数组以生成基于“过滤器”对象的单独数组。

例如,如果我的过滤器是:

  const FILTERS = {
    age: 32,
    name: 'John',
    occupation: ''
  };

新数组应该为空,因为数组中没有人拥有 32 和 John 的组合。但是,如果我的过滤器是:

 const FILTERS = {
    age: 32,
    name: 'Simon',
    occupation: ''
  }

返回的新人员数组将是:

 const NEW_ARRAY = [
    {
      name: 'Simon',
      age: 32,
      occupation: 'Student'
    }
  ];

如何通过迭代“过滤器”对象值来过滤人员数组?请记住,过滤器键和值会一直动态变化。


您可以按如下方式进行过滤:

const FIRST_ARRAY = [
  {
    name: 'Simon',
    age: 32,
    occupation: 'Student'
  },
  {
    name: 'Vera',
    age: 22,
    occupation: 'Developer'
  }
];

const FILTERS = {
  name: 'Simon',
  age: 32,
  occupation: ''
};

const filtered = FIRST_ARRAY.filter(person => Object.entries(FILTERS)
  .every(([key, val]) => val !== '' ? person[key] === val : true));
  
console.log(filtered);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据单独的对象键、值过滤对象数组 的相关文章

随机推荐

  • Google脚本DriveApp.getFolders().hasNext()错误

    我想在驱动器中创建一个目录 如果该目录尚不存在 function CreateDirectory var folderName Example var Directory var fi DriveApp getFoldersByName f
  • WEKA 生成的模型似乎无法预测给定属性索引的类别和分布

    Overview 我正在使用 WEKA API 3 7 10 开发者版本 来使用我预制的 model files 我制作了 25 个模型 五种算法的五个结果变量 J48决策树 http weka sourceforge net doc de
  • Magento:(大多数)国家/地区在结账时扣除税费 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在一家英国时装店工作 客户有一个特
  • 用图像替换 d3.js 符号

    参考这个fiddle example http jsfiddle net andycooper a7as6 我需要用图像替换符号 或者可能首先用单个图像替换 例如 此图像 https github com favicon ico 我在代码中
  • Haskell——如何在同一个文件中使用多个模块?

    抱歉 这是一个愚蠢的问题 但我无法弄清楚如何将多个模块放在同一个文件中 假设文件名为A hs 如果我把模块B首先 即 module B where module A where 它抱怨说它期望A当我运行 ghci A 时 它不是顶级的 所以
  • 通过 Docker 主机名在两个微服务之间进行通信

    现在如何运作 微服务 X 使用静态 ip 向微服务 Y 发出 REST API 请求 http ip address port doSomething 问题 问题是我不能长期保证静态ip 我不想通过使用 docker 主机名来解决这个问题
  • 复制 Xcode 4 项目

    基本上我想为我的 Xcode 项目和所有文件制作一个独立的副本 我怎样才能做到这一点 我正在研究图形框架 我想为每个框架使用相同的 UI 借调 zoul https stackoverflow com users 17279 zoul的评论
  • GWT CellTable 列调整大小/排序

    有没有人找到一种方法使 GWT CellTable 允许用户调整列大小 我们正在放弃旧的 gwt incubator 小部件 因为它们似乎与 GWT 2 1 存在一些兼容性问题 并且仍然需要以前具有的此功能 另外 如果我们能够像孵化器那样进
  • 我可以禁用对已弃用的方法和类的 CheckStyle 投诉吗?

    我正在维护一个已弃用某些公共静态字段的 API CheckStyle 大声抱怨这些 但我宁愿让它完全忽略它们 因为我已经通过将字段标记为已弃用来处理问题 具体来说 该库具有用于枚举的常量 公共静态最终 但它们没有标记为最终的 CheckSt
  • 如何将 R 脚本加载到 JRI 并从 Java 执行?

    我正在使用 JRI 从 Java 执行 R 我看到 JRI 使用eval 方法来执行R命令 我有一个用于执行的 R 脚本 如何在 JRI 中加载此脚本并执行它 您可以使用 R 命令运行整个脚本source
  • jQuery 验证 - 相同的规则取决于值

    我在输入字段验证中获取 2 个范围值的语法时遇到问题 我的表单有 2 个选择字段和 1 个文本输入字段 If select1 1 and select2 A 我希望文本字段上的范围值是1 to 120 If select1 1 and se
  • pyRevit WPF非模态问题

    所以我刚刚开始涉足 pyRevit 中的 WPF 我尝试像这样实现pyrevit forms WPFWindow 类 coding UTF 8 Third Party software credits pyRevit repository
  • IPython Notebook ipywidgets 不显示

    我创建了一个带有交互式滑块的表格 它允许我在表格上的不同时段之间切换 过去几天一直有效 直到今天 当我重新运行笔记本时 滑动条不再显示 没有出现错误消息 当表格出现时 代码似乎运行得很好 但滑动条没有出现 我也没有更改我的代码 因为我正在处
  • Breezejs 和 EF6 中基于角色的安全性

    我在一个具有 3 个主要安全角色的项目中使用 Breeze js AngularJS Web API 和 EF6 可以说高级别 中级别和低级别 在这些示例中 我有 Person Company LowLevelSecret MediumLe
  • Rxjava 3 + Retrofit2 - 多次插入数据库问题

    我正在尝试做以下事情 使用 Retrofit 将云数据库同步到设备上的本地 SqLite DB Room DB 可能会变得很大 大约有 100 000 个寄存器或更多 因此同步过程可能需要一些时间 所以它会发送第一个Retrofit请求来获
  • iOS JSON 数组和 MapKit

    我正在尝试使用 MapKit 映射 JSON 数组 我可以使用下面的代码在地图上获得一个点 但是我有几十个需要标记的引脚 并且我准备了一个 JSON 数组 我的单点代码如下 在我的 h 文件中 import
  • 生成随机证书

    我正在寻找一个实用程序类 它可以生成用于测试目的的随机证书字符串 知道是否已经实施了吗 要添加到 martijno 给出的解决方案中 JCAContentSigner 可用于避免映射到 AlgorithmIdentifier 即 OID 而
  • 如何在 Objective C (iphone) 中通过引用传递值

    我有一个非常基本的问题 我是一名新 iPhone 程序员 我的问题是任何人都可以告诉我如何通过引用 obj 中的函数来传递值 C 我知道如何用 VB 和 C 来做 但不知道如何在 Obj c 中做到这一点 Thanks Objective
  • angular2 rc6:RouterState类型上不存在属性queryParams

    通往 Angular 2 Final 之路上的另一个 立即弃用错误 错误消息很清楚 我现在只需要知道相应的字段叫什么即可 有人吗 RouterState 类型上不存在属性 queryParams 以为我解决了 属性 queryParams
  • 根据单独的对象键、值过滤对象数组

    我有以下一组人 const FIRST ARRAY name Simon age 32 occupation Student name Vera age 22 occupation Developer 我想过滤数组以生成基于 过滤器 对象的