将具有重复键的键值数组转换为具有唯一键和值数组属性的对象数组

2024-01-22

我有一个键/值对数组。键有时会重复,并且每个键的值始终是唯一的。 我想将每个唯一的键压缩为一个对象,这样我就有一个键和一个关联值的数组作为属性。 有没有方便的 JavaScript 函数可以做到这一点?

This

pairArray = [
{ key: "a", value: "1" },
{ key: "a", value: "2" },
{ key: "b", value: "1" },
{ key: "b", value: "2" },
];

Becomes

objectArray = [
{ key: "a", values: ["1", "2"] },
{ key: "(", values: ["1", "2"] }
];

您可以简单地使用创建地图Array.reduce()和你的key你的对象的属性作为你的地图的关键,Object.values()在该地图上将为您提供所需的结果:

假设您的预期输出中有拼写错误。您可以尝试以下操作:

const pairArray =  [ { key: "a", value: "1" }, { key: "a", value: "2" }, { key: "b", value: "1" }, { key: "b", value: "2" }, ];

const result = Object.values(pairArray.reduce((acc, {key, value})=>{
  acc[key] = acc[key] || {key, values : []};
  acc[key].values.push(value);
  return acc;
},{}));

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

将具有重复键的键值数组转换为具有唯一键和值数组属性的对象数组 的相关文章

  • JAVASCRIPT - 为什么这个对象没有改变?

    function myFunc theObject theObject make Ford model Focus year 2006 var mycar make Honda model Accord year 1998 var x my
  • 获取被调用的 javascript 文件的查询字符串

    是否可以在调用的 javascript 文件上使用 javascript 获取查询参数 如下所示 in html in file js console log this location query 这是否可能以某种方式实现 或者我必须使用
  • Javascript 对象属性名称

    在 C 中 可以将对象属性的名称作为字符串值获取 名称 对象 Property gt myProperty 这可以在 Javascript Typescript 中完成吗 Object Keys 是我找到的唯一东西 但它给了我所有的键 示例
  • Javascript 进程是否有多个执行线程?

    背景 我正在创建一个 地址簿 类型的应用程序 有很多条目需要加载 一个想法是首先加载一小部分条目 让用户开始 然后将剩余条目排队 优先考虑用户单击的条目 例如 如果他们单击以 X 开头的名称 请先加载这些名称 然后再处理队列的其余部分 这个
  • 从选择 onChange 调用 javascript 函数 [重复]

    这个问题在这里已经有答案了 所以我有一个简单的 HTML 选择框和一个 javascript 警报功能 我希望选择框有一个 onchange 事件来调用 javascript 警报函数 这是我到目前为止所拥有的 HTML div Type
  • 不区分大小写的 array_unique

    我正在尝试编写几行代码来创建一个不区分大小写的数组唯一类型函数 这是我到目前为止所拥有的 foreach topics as value lvalue strtolower value uvalue strtolower value if
  • 将数组分配给数组

    所以我正在尝试一些数组 但我不明白为什么这不起作用 int numbers 5 1 2 3 int values 5 0 0 0 0 0 values numbers 出现以下错误 Error 1 error C2106 left oper
  • JavaScript 相当于 Python 的参数化 string.format() 函数

    这是 Python 示例 gt gt gt Coordinates latitude longitude format latitude 37 24N longitude 115 81W Coordinates 37 24N 115 81W
  • 我可以在 GWT 中使用第三方 Javascript 库吗

    例如穆工具 用 js 编码对我来说很舒服 但显然不适合所有人 你当然可以 最好的事情就是给自己写一些好看的JavaScript 覆盖类型 http code google com webtoolkit doc latest DevGuide
  • EmberJS:对象作为查询参数来刷新模型

    我遵循了查询参数指南 http guides emberjs com v1 11 0 routing query params http guides emberjs com v1 11 0 routing query params 而且效
  • 如何按元素添加两个 Rust 数组?

    这绝对是一个初学者问题 但我搜索了半个小时后找不到任何有用的东西 我有 Rust 1 7 0 和这段代码 type coord i64 3 add two coordinates vectors pointwise that is if z
  • Angular2:动态同步http请求

    Goal 发出一系列同步 http 请求并能够将它们作为一个可观察流进行订阅 示例 不工作 let query arr test1 test2 test3 function make request query arr if query a
  • 使用 numpy 在 python 中执行最大方差旋转

    我正在研究矩阵的主成分分析 我已经找到了如下所示的组件矩阵 A np array 0 73465832 0 24819766 0 32045055 0 3728976 0 58628043 0 63433607 0 72617152 0 5
  • 如何从 html 页面 [javascript] 调用 Web 服务方法而不刷新页面

    我有一个webservice这将返回一个值 我的要求是 我需要调用它webservice从一个index html页面 该页面有一个 html 提交按钮 在该按钮上单击我正在呼叫JavaScript 从那里我想调用网络方法 我怎样才能做到这
  • 如何从 CSS 选择器中提取类名?

    故事 我目前正在构建一个 ESLint 规则 以警告在 CSS 选择器定位器中使用引导布局导向和角度技术类 目前我在字符串方法中使用简单的子字符串 for var i 0 i lt prohibitedClasses length i if
  • 在反应中访问回调内的 event.target

    我有以下课程片段 constructor props super props this timeout null search e gt clearTimeout this timeout this timeout setTimeout f
  • 轮播滑动(未滑动)事件上的火灾事件,Bootstrap 3

    Bootstrap 2 似乎可以很好地处理幻灯片事件 请参阅这个问题 https stackoverflow com questions 9651466 how to attach slide slid events to the boot
  • 如何跨多个文件跨越 javascript 命名空间?

    我永远忽略了javascript 几年前我开始使用 jQuery 这样我就可以过得去 但随着我开始更多地进行 TDD 我昨天决定真正深入研究 javascript 之后可能还有咖啡脚本 在我的 ASP NET Web 窗体应用程序中 我有很
  • 如何缩短 PHP if 语句?

    我有一个 if 语句 我需要将单个字符串与许多不同的选项进行比较 我在下面发布的代码非常清楚地表明了我的意思 我知道有两种方法可以做到这一点 但另一种甚至更长 那么 是否有任何函数可以以更短的方式实现类似的功能 我的要求可能看起来很愚蠢 但
  • 为什么 JavaScript 中是 [1,2] + [3,4] = "1,23,4" ?

    我想将一个数组的元素添加到另一个数组中 所以我尝试了以下方法 1 2 3 4 它的回应是 1 23 4 到底是怎么回事 The 操作员没有为数组定义 发生的事情是 JavaScript将数组转换为字符串并将它们连接起来 Update 由于这

随机推荐

  • htaccess 替换查询和重定向中的字符

    我需要将查询字符串中的 替换为 而不是重定向 site com abc def to site com search php q abc def 我试过这个 RewriteRule search php q 1 2 R 301 L 以下两条
  • android项目的Maven编译错误“错误:包R不存在”

    我正在尝试使用 Android 应用程序建立一个 MAVEN 项目 我有这个pom文件
  • 类型错误:无法读取未定义的属性“redirect_uris”

    我想编写一个应用程序来处理我的一些以某种方式标记的 Gmail 电子邮件 示例代码here https github com googleapis google api nodejs client blob master samples g
  • Firestore 只同步差异吗?

    我想知道 Firestore 如何处理深度嵌套对象的实时同步 具体来说 它只同步差异吗 例如 我有一个应用程序状态 它只是一个包含 3 个值的数组 并且该状态在设备之间同步 如果我随后更改其中一个值 将同步整个新数组 在网络上传输 还是仅同
  • 如何将服务器时间转换为本地时间?

    我的 php 文件托管在世界其他地方 这date and time 函数返回服务器上的日期 时间 如何转换该日期 使其与我的本地日期 时间相同 服务器上的日期比我的当地时间晚 10 小时 我可以直接进行硬编码并从服务器时间中减去它 但什么是
  • Android INSTALL_FAILED_INVALID_URI

    当我尝试通过 Eclipse 将 Android 应用程序安装到设备时 我刚刚开始收到以下错误 Installation failed due to invalid URI Please check logcat output for mo
  • 自定义 PageControl 图像 - Swift

    我正在尝试为 UIPageControl 点设置图像 我需要更改默认点 而不是我需要图像 我使用了下面的代码 self pageCtrl currentPageIndicatorTintColor UIColor init patternI
  • Eclipse Juno 加载描述符错误

    我刚刚将 Eclipse 从 Galileo 更新为 Juno 我创建了一个新的工作区并导入了一个基于 Java Spring MVC 的项目 当我打开它时 它开始 加载描述符 然后弹出一条错误消息 加载 mta pfm 的描述符 期间发生
  • SQL查询删除两年以上的记录

    我需要通过从多个表中删除两年以上的记录来清理非常臃肿的 SQL 数据库 做到这一点最有效的方法是什么 您有什么方法可以确定记录的 年龄 吗 即 表中是否有一列代表行的年龄或可用于计算年龄的日期 如果是这样 那应该是一个简单的 DELETE
  • MySql:查找特定记录的行号

    我正在使用一个通用数据面板 该面板可以向该面板提供各种不同的查询 它们可能是从表或视图中选择的简单查询 也可能是用户使用复杂的联接和其他表达式自行定义的复杂查询 我正在尝试修改我的数据面板 以便如果用户选择一条记录 然后对表进行排序 我会找
  • 为什么结合性是运算符的基本属性,而不是优先级的基本属性

    在任何编程语言教科书中 我们总是被告知该语言中的每个运算符如何具有左结合性或右结合性 结合性似乎是任何运算符的基本属性 无论其需要多少操作数 在我看来 我们可以将任何关联性分配给任何运算符 无论我们如何将关联性分配给其他运算符 但为什么会这
  • 在c++中接收USB设备插入的通知/事件/信号

    我已经寻找了一段时间 但一直无法找到这个问题的答案 我正在尝试接收特定 USB 设备的连接通知 这是我所知道的 我运行的是 linux 内核版本 3 2 我有识别 USB 设备所需的 ID 我创建了一个用于读取和写入设备的内核模块 内核模块
  • 为什么不使用基于二进制补码的浮点?

    float64 32 和 16 的 IEEE 754 标准使用有符号尾数和有偏差指数 作为一名设计硬件架构的学生 对我来说 对有效数和指数部分使用二进制补码更有意义 例如 定义 32 位 半精度 浮点数 第一位表示符号 接下来的 8 位 指
  • 系统子程序和 INT 信号问题

    我的 Perl 脚本中有一个 INT 信号处理程序 当 Perl 脚本处于系统调用过程中发送 INT 时 它不会被执行 为什么 考虑 perl5 12 bin perl E cat lt
  • 仅在首次加载时显示对话框

    我目前有一个对话框 每次加载页面时都会自动显示 但是 我有搜索等功能 因此当用户搜索条目时 由于页面正在再次加载 它将再次显示弹出框 如何才能使对话框仅在第一次加载页面时显示 这是我的对话框的 HTML 代码 div title Instr
  • 会话是否用于 REST 身份验证?

    抱歉这个新手问题 这是我第一次尝试实现 REST 接口 在 PHP 中 无论如何 由于 HTTP 协议的无状态本质 最好的做法是什么才能确保 GET user id friends 总是且仅由当前经过身份验证的用户执行 会话通常用作限制 R
  • 如何在 Linux 中使用 chdir 功能?

    我有一个问题 这是我在 testchdir c 文件中的原始代码 include
  • ios 中的 UIActivityViewController 与 UIDocumentInteractionController

    我刚刚读了一些文章UIActivityViewController and UIDocumentInteractionController在 iOS 中 但我对如何使用它们感到非常困惑 因为两者看起来都是一样的 那么 我什么时候使用UIAc
  • 从参数化触发器插件传回结果

    我有 2 个工作 Helper 和 Main 以及单个 jenkins 实例 即主机和执行器 帮助程序管理第 3 方资源并为主要作业做好准备 准确地说 它为要部署的应用程序进行测试创建环境 辅助作业的唯一工件是一个单独的文件 其中包含专为主
  • 将具有重复键的键值数组转换为具有唯一键和值数组属性的对象数组

    我有一个键 值对数组 键有时会重复 并且每个键的值始终是唯一的 我想将每个唯一的键压缩为一个对象 这样我就有一个键和一个关联值的数组作为属性 有没有方便的 JavaScript 函数可以做到这一点 This pairArray key a