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

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(使用前将#替换为@)

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

  • PHP—array_merge_recursive() - 相同键没有数组

    php a php gt data1 tag gt div classes gt 1 2 3 php gt data2 tag gt section classes gt 2 3 4 5 6 php gt result array merg
  • 拖放区缩略图宽度图像大小

    如何更改上传图像的缩略图大小 我在我的javascript中尝试过thumbnailWidth 350 但是这不会增加缩略图大小 而缩略图只是看起来放大了 如何操作图像缩略图大小 HTML section section
  • 使用 requirejs 加载外部脚本而无需访问配置

    我正在尝试在我正在编写的插件中加载数据表 javascript 库 问题是 当我加载外部资源时 我会遇到冲突 因为当我调用 require 时 数据表与某些内容发生冲突 这是错
  • 有没有办法监控页面上运行的 JavaScript 函数?

    有没有办法查看页面上正在执行哪些功能 如果我在页面上加载外部脚本 是否可以动态更改函数的功能或阻止其运行 HTML5 http www w3 org TR html5 scripting 1 html establish script bl
  • 动态表中每个按钮的 Jquery-Ui 对话框表单

    我正在生成一个 HTML 表 每行都有一个按钮 必须打开 Jquery ui 对话框表单 The table table class table table reporting table condensed table striped t
  • 夜间值班。单击带有文本的元素

    我遇到问题 无法单击具有某些独特文本的网页元素 我有这样的结构 div class wg wagon type title Text div 我试试这个 click wg wagon type title contains Text 但我有
  • React/Redux bundle.js 太大

    我有一个小型的 React 项目 Webpack生成的bundle js大小为6 3Mb 如何将大小减小到 github webpack config js module exports devtool inline source map
  • 如何在提交表单之前删除自动数字格式?

    我正在使用 jQuery 插件自动数字 http www decorplanit com plugin 但是当我提交表单时 我无法删除之前字段上的格式POST 我尝试使用 input autonumeric destroy 和其他方法 但它
  • 在 IE10 中禁用捏合放大

    在 IE10 触摸模式下 我希望仅使页面的特定部分可缩放 其余的不应该 我找到了这个 http msdn microsoft com en US library ie hh772044 aspx http msdn microsoft co
  • Rails 递归地包含 javascripts 资源文件夹

    我了解如何将一个 JavaScript 文件添加到 Rails 资产管道中 只需添加 require filename 到 application js 但是如何在一个文件夹下包含多个 javascript 文件 vendor assets
  • canvas.getContext('2D') 返回空值

    我创建了一个画布并将其命名为getContext 方法 但它返回null为上下文 这是我使用的代码 我在控制台中得到了这个
  • 将 Google 电子表格解析为 Javascript 数组

    我有一个 Google 电子表格 https docs google com spreadsheets d e 2PACX 1vRc8Lx0N wf3f1xAAXkNFUqQjaWPFcde3YjK02gCBqGpUrULwHC6NC0sn
  • EJS在JS onload函数中访问express变量

    我知道你可以像这样获取 ejs 文件中变量的值 h1 h1 如果我要在同一个 ejs 页面的 onload javascript 函数中使用相同的标题变量 我将如何使用它 例如 这个函数产生一个控制台错误说 未捕获的语法错误 意外的标识符
  • 在 php、ajax 或 javascript 中加载进度?

    任何人都知道如何在系统仍在服务器端获取数据的同时在客户端显示加载进度以及完成的百分比 例如 当我在客户端按下 确定 按钮时 它会调用服务器端从数据库收集数据 整个过程可能需要2到3分钟 如何在客户端显示加载进度 大约加载完成了多少 我怎样才
  • AngularJS 输入字段未从控制器内的 setTimeout 更新

    我正在使用 AngularJS 支持的页面 并且我需要在只读输入文本字段内显示正在运行的时钟 与data ng model 为了模拟运行的时钟 我使用了 JavaScript 调度程序setTimeout每 1000 毫秒调用一个函数 该函
  • array_merge 更改键

    我得到以下数组 arr array 6 gt Somedata 7 gt Somedata1 8 gt Somedata2 问题是 当我使用array merge array Select the data arr 它确实将数组键更改为 A
  • JavaScript 访问密码字段值是否被视为存在安全风险?

    如果安全 正确地存储密码是良好的风格和安全性 那么对于要求用户输入密码的网页来说不应该也是如此吗 考虑这个例子
  • 递归获取数组的键并创建下划线分隔的字符串

    现在我得到了一个包含某种信息的数组 我需要从中创建一个表 例如 Student Address StreetAddress gt Some Street StreetName gt Some Name Marks1 gt 100 Marks
  • 数字和小数的输入掩码

    在测试我的程序后 我发现了以下错误 我在 sqlserver 中的表包含 价格数字 6 2 我的程序的用户输入价格 555 00 就很好了 但是当他输入 555555 时 这是错误的 所以我需要指定掩码 其中尾数是可选的 0 到 999 小
  • 跨浏览器:禁用输入字段的不同行为(文本可以/不能复制)

    我有一个被禁用的输入 html 字段 在某些浏览器 Chrome Edge Internet Explorer 和 Opera 中可以选择并复制文本 但至少在 Firefox 中这是不可能的 您可以通过在不同浏览器中执行以下代码来测试

随机推荐

  • 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 我想过滤数组以生成基于 过滤器 对象的