按对象键过滤对象数组

2023-12-15

我有一个 Javascript 对象数组:

var List = [
            {
                employee:'Joe',
                type:'holiday',
            },
            {
                employee:'Jerry',
                type:'seminar',

            },
            {
                employee:'Joe',
                type:'shore leave',
            }
           ];

我想获得两个新的对象数组;一个用于关键员工“Joe”,另一个用于关键员工“Jerry”。对象应保留相同的键/值对。

我一直在尝试使用 underscore.js 找到解决方案,但它变得太复杂了。关于如何实现这一目标有什么想法吗?


var joe = List.filter(function(el){
 return el.employee === "Joe"
});

var jerry = List.filter(function(el){
 return el.employee === "Jerry"
});

这使用Array.prototype.filter并且适用于 IE9 及更高版本 + 所有最新的 Chrome/Firefox/Safari/Opera 版本。

如果您事先不知道名称,则可以创建地图 变量名称 = {};

for(var i =0; i<List.length; i++){
  var ename = List[i].employee;
  if(typeof names[ename] === "undefined"){
     names[ename] = List.filter(function(el){
     return el.employee === "ename"
    });
   }

}

附带说明一下,Javascript 约定是仅将构造函数的变量的第一个字母大写。所以列表可能应该是列表。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按对象键过滤对象数组 的相关文章

  • Jqplot 中两个系列数据的不同颜色条

    我想知道如何在 Jqplot 中为两个系列制作不同的颜色条 如果我只有一个系列数据 它的工作原理如下图所示 红色和绿色基于其值 但是 如果我有两个系列数据 我无法为每个系列数据配置两个系列颜色 目前我只能做这个图 我希望两个系列图可以根据其
  • 如何监控浏览器中发出的所有自定义事件?

    我想监视网络浏览器中触发的所有自定义事件 任何标准浏览器都可以 需要明确的是 我知道您可以附加事件处理程序来查看何时触发 通常 事件 但如何可靠地检测嵌入对象或 jQuery 脚本是否触发自定义事件 我可以重构浏览器源代码来挂钩事件循环 但
  • JS如何获取多维数组的最大深度?

    我有一个多维数组 我想知道它的最大深度 我发现了这个灵魂 但它不适用于对象数组 const getArrayDepth arr gt return Array isArray arr 1 Math max arr map getArrayD
  • 全局 JavaScript 变量作用域:为什么这不起作用?

    所以我在玩 JavaScript 时遇到了我认为奇怪的事情 有谁能解释一下以下内容吗 我已将警报值作为评论包含在内 为什么 foo 中的第一个警报 msg 返回不明确的并不是outside var msg outside function
  • Object.assign() - 奇怪的行为需要解释

    我有这个代码 function margeOptions options passedOptions options Object assign options passedOptions let passedOpts a true let
  • 使用 word_number 值对 javascript 数组进行排序

    如何对数组进行排序 var arr new Array word 12 word 59 word 17 这样我得到 word 12 word 17 word 59 Thanks 您需要编写一个排序方法 您可以编写任何您喜欢的方法 该方法在
  • TypeScript 中类和命名空间的区别

    到底有什么区别classes and namespaces在打字稿中 我知道 如果您创建一个带有静态方法的类 您可以在不实例化该类的情况下访问它们 这正是我猜想的命名空间的要点之一 我还知道你可以创建多个同名的命名空间 并且它们的方法在编译
  • 为什么 JSON.stringify() 接受 Date 对象?

    至少在 Firefox 中 您可以对 Date 对象进行字符串化 gt gt gt JSON stringify now new Date now 2012 04 23T18 44 05 600Z 这是有效的 因为 在 Firefox 中
  • 如何正确关闭 Node.js Express 服务器?

    我需要在收到回调后关闭服务器 auth github callback网址 与平常一样HTTP API http nodejs org docs latest api http html关闭 服务器目前支持server close call
  • jQuery 问题:它的真正含义是什么?

    function window undefined jquery code jQuery window 它到底意味着什么 是不是也意味着 document ready 或者只是两种不同的东西 已经有两个答案 但这是我对代码缺失端的猜测 fu
  • 如何防止在达到一定字符数后向文本区域输入内容?

    使用下面的代码 任何超过指定最大值的输入都将被删除 但这会产生一种效果 即键入字符后立即将其删除 我宁愿简单地阻止输入字符
  • Javascript 访问 Disqus 评论文本框?

    我正在开发一个浏览器扩展 它应该允许我访问文本框中的评论 帖子 现在很多网站都使用 Disqus 作为评论方式 但在输入文本时我无法找到访问 Disqus 评论框的方法 Disqus API 也没有透露太多信息 有人知道访问它的方法吗 解决
  • 表单提交不起作用

    我有一张桌子 可以打印出所有可用的相机 它使用表单来更改这些设置 问题在于该表单仅更新条目中的最后一个摄像机 换句话说 如果我更改表单并为列表中的最后一个摄像机点击 应用 它将起作用 如果我更改此列表中任何其他摄像机的表单 它会将其更改为与
  • 通过电子邮件发送在 HTML5 画布上创建的图像

    我有一个画布 用户可以通过交互来更改设计 现在 用户完成更改后 可以提交他的设计及其电子邮件 ID 但为了提交设计 我使用以下方法将画布转换为图像http www nihilogic dk labs canvas2image http ww
  • Django 模板变量从 {% for %} 循环到 Javascript

    这是一个迭代记录的 Django 模板 每条记录都包含一个由 JS 函数填充的 div 为了让 JS 知道要做什么 它需要从每次 for 循环迭代中获取一个变量并使用它 我不知道具体如何实现这一目标或是否可能 我不知道 也许记录在单独的 J
  • 检测 JavaScript 中的焦点丢失

    我希望能够检测 JavaScript 中任意元素何时失去焦点 因此我可以构建一个类似于 jEdit 的内联编辑工具 我不能依赖 jQuery 来实现这个库 所以我需要一个本机方法来完成它 我查看了 onblur 这似乎是正确的事情 但 MD
  • html输入数字,min + step,使step忽略min?

    是否有可能使step忽略min属性
  • jVectorMap - 向下钻取地图 - 自定义背景

    我正在使用 jVectorMap 中的向下钻取地图 并且尝试将自定义背景颜色设置为地图的第二层 为了自定义主级别 我使用 main 参数 但我不知道如何将其扩展到地图的较低级别 提前致谢 马切伊 None
  • 更改 CSS 样式表的选择器属性

    以下是我们传统上如何更改重复元素的样式 将样式应用到每个元素 function changeStyle selector prop val var elems document querySelectorAll selector Array
  • 通过jquery ajax()和serialize()提交html表单

    我想通过 jquery ajax 提交此表单 这是我所做的 但它不起作用 即表单正在提交并刷新页面 但我没有看到响应 即在同一页面上打印数组 HTML

随机推荐

  • 如何在数据框列上进行标量乘法

    我确信这个就坐在我面前 但我看不到它 我有一个数据框 a 这样 gt a Chars Numbers This A 15 That B 22 Other C 18 我只想将 Numbers 列乘以一个标量 例如 b 不起作用的是 a b 尝
  • 如何使用 Alamofire 和 SwiftyJSON 访问嵌套 JSON 值?

    我正在尝试使用 swiftyJSON 和 Alamofire 访问嵌套的 JSON 结果 我的打印值为零 我相信我没有正确执行此操作 我的参数应该是什么 我正在尝试获取位于的报价值http quotes rest qod json func
  • 通过VBA控制Excel形式的数据库

    我正在尝试创建一个 Excel 插件 它具有一组函数来从数据库中提取值 我使用 MS SQL Server 所以我的查询将只返回一个记录集 我在我的 vba 代码中使用如下所示的内容 使用 Excel VBA 运行 SQL 查询 但问题是
  • 在 Pygame 中获取旋转图像的旋转矩形

    我有一个关于 pygame rect 的问题 矩形不是我想要的 我发现我可以用精灵类来做到这一点 但我不想使用精灵 我不明白 Sprite 矩形和图像矩形的区别 I want to get rect like this But I am g
  • C# 等待用户在文本框中输入完毕

    C 中是否有一种方法可以等到用户在文本框中完成输入后再获取他们输入的值而不按 Enter 键 稍微修改一下这个问题 好吧 我有一个简单的乘以 2 的计算器 这是我想要它做的事情 用户在文本框中输入一个值 例如 1000 它会自动显示 200
  • R脚本从谷歌分析导入数据

    我正在尝试通过 R studio 服务器上运行的脚本连接到 google analytic s API 我已按照本教程中的步骤操作 http www r bloggers com how to extract google analytic
  • 将 && \ 添加到文本文件中除最后一行之外的每一行

    我正在尝试添加 在文本文件中除最后一行之外的每一行的末尾 输入示例 ps mkdir repo cd repo touch file1 txt 预期输出 ps mkdir repo cd repo touch file1 txt 第一次尝试
  • 如何在使用 QnA 机器人时对其进行训练?

    我使用 bot framework SDK3 和 QnAmaker 服务制作了一个 QnA 机器人 据我所知 我们可以训练我们的知识库 但我不知道如何在团队等其他渠道中使用我的 QnA 机器人时对其进行训练 我想我可以让用户判断机器人的回答
  • subprocess.call() 和 os.system() 之间的速度差异

    执行速度是否有任何差异subprocess call and os system 命令 假设命令本身完全相同 我知道有很多帖子谈论子流程的好处及其原因os system 应该被抛弃 但没有人提到它们的速度 据我了解 子流程远不及包装器os
  • JSON 序列化以元组为键的字典

    Python 有没有办法序列化使用元组作为键的字典 e g a 1 2 a 简单地使用json dumps a 引发此错误 Traceback most recent call last File
  • 将 firestore“integer_value”转换为整数

    使用 Golang Firestore 1 8 库 我尝试使用 Google 去年秋天推出的 Firestore 的新 count 函数 这些文档似乎还没有示例 不是我发现的 但我拼凑了一些有点可行的代码 这些代码几乎让我完成了所有工作 只
  • WPF 拖放

    如何为 WPF 应用程序实现拖放 我可以打开 2 个相同的应用程序并将一个对象从一个应用程序拖动到另一个应用程序 这是我要拖动的内容
  • 按行重塑数据框[重复]

    这个问题在这里已经有答案了 我有一个类似于以下示例的数据框 gt df lt data frame imp c Johny Johny Lisa Max item c 5025 1101 2057 1619 gt df imp item 1
  • 仅最初需要 git 子模块更新?

    我正在掌握 git 子模块 一厢情愿的想法 并且我提出了更具体的问题 这是一个好兆头 我试图找到超级项目引用的子模块的哪个版本 在 gitmodules and git config 但那里没有提到任何内容 这种情况是 我正在更改根位置的子
  • 与 HoloEverywhere 的相对 Gradle 项目依赖性

    我有这个目录结构 Project contrib holo everywhere library addons slider preferences app library app one app two settings gradle 我
  • 保留选定的打印机设置

    我有一个应用程序 它运行一系列预订 并以行程的形式依次打印每个预订并发送给客户 每次运行可能有 30 个左右的预订 因此需要自动化 我们已经交付了它 所有这些都可以与我们的报告软件 DELPHI 的 Report Builder 配合使用
  • 使用 / 分割 C++ 字符串

    我有一个 C 字符串 如下所示 dirname filename ini 我需要在之后得到一切 我怎样才能做到这一点 Using find and substr方法来自std string std string fullpath dirna
  • 模块构建失败(来自 ./node_modules/postcss-loader/src/index.js)

    当我运行命令时 我正在使用角度和节点npm start我收到这个错误 src styles scss 中的错误 node modules css loader dist cjs js ref 13 1 node modules postcs
  • 运算符重载,运算符+与运算符+=

    我正在阅读一些 C 源代码 并且了解了一些语法 path path operator string postPath 我想知道这是否是实际的语法以及为什么 c 不使用已经存在的运算符 而是将值应用于有问题的对象 就像您想确保对象被正确删除一
  • 按对象键过滤对象数组

    我有一个 Javascript 对象数组 var List employee Joe type holiday employee Jerry type seminar employee Joe type shore leave 我想获得两个