Js对象数组,根据对象关联键合并一个新数组

2023-11-11

Js对象数组,根据对象关联键合并一个新数组

需求:

合并数组a、b为一个对象数组

数组中每一个对象由{id,name,age}组成

const a = [
    {id:1,name:'ty1'},
    {id:2,name:'ty2'},
    {id:3,name:'ty3'},
    {id:4,name:'ty4'},
    {id:5,name:'ty5'}
]
const b = [
    {id:1,age:12},
    {id:2,age:95},
    {id:3,age:16},
    {id:4,age:22},
    {id:5,age:21}
]

写一个函数根据对象的key,判断合并数组

/**
 * 根据关联键合并数组
 * @param arr1 数组1
 * @param arr2 数组2
 * @param key 依赖key
 * @returns {*[]} 合并的新对象数组
 */
function mergeArraysByKey(arr1,arr2,key){
    const result = []
    arr1.forEach((arr1_item)=>{
        arr2.forEach((arr2_item)=>{
            if (arr2_item[key] === arr1_item[key]){
                result.push(Object.assign(arr2_item,arr1_item))
            }
        })
    })
    return result
}
console.log(mergeArraysByKey(a,b,"id"))

最终运行结果为:
在这里插入图片描述
成功喽

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

Js对象数组,根据对象关联键合并一个新数组 的相关文章

  • React Native - “this.setState 不是一个函数”试图设置背景颜色动画?

    好吧 我只是想循环视图的背景颜色 在 3 4 种颜色之间渐变 我发现如何在 React Native 中对 ScrollView 的背景颜色进行动画处理 https stackoverflow com questions 50356933
  • Javascript 中的无限原型继承

    我正在学习 Javascript 中的原型继承 根据我的理解 我尝试使用它来将进程发送到无限递归链接中 我对原型继承的想法是一个对象 它是一个函数 保存原型链接 该对象的任何实例都指向它 因此 如果我说instance someproper
  • Express MongoDB find() 基于 _id 字段

    因此 在我的 Express 应用程序中 我尝试根据我的 id 字段查找 请参阅下面我的 MongoDB 记录 id oid 58c2a5bdf36d281631b3714a title EntertheBadJah subTitle Lo
  • Javascript JSON stringify 没有要包含在数据中的数字索引

    我正在尝试通过 JSON 传递非数字索引值 但没有获取数据 var ConditionArray new Array ConditionArray 0 1 ConditionArray 1 2 ConditionArray 2 3 Cond
  • 输入类型货币格式,带逗号和小数位 2

    我只是想问如何制作输入类型文本的货币格式的JavaScript 当您输入数字时 数字是否可能带有逗号 另外 如何使数字固定为 2 个小数 如果我输入 3 位小数 最后一个数字将四舍五入 因此可以是 2 位小数 我有一个仅接受数字的文本框 我
  • 如何将变量传递给函数引用?

    在 React Native 中 当你有需要在渲染时运行并且必须传递变量的函数时 大多数人建议应该使用 onPress gt this functionName variable 然而 当处理大型列表和复杂组件时 您必须优化代码 为每个 r
  • 提交后如何重置表单?

    我有一个简单的表格 假设它需要一个电子邮件地址 提交表单后 消息堆栈会通知用户其地址已成功提交 问题是 提交地址后 带有电子邮件的表单字段仍然包含用户输入的电子邮件地址 我该如何重置该字段 我必须为此使用 JavaScript 吗 谢谢 w
  • 将模板添加为innerHTML 时,Angular 2 绑定/事件不起作用

    我正在尝试创建一个可配置的可重用表 单元格可以配置为具有 html 模板 我正在配置列 Review 拥有带有带有点击事件的锚标记的 html 模板 审核 行 到目前为止 我尝试将此模板作为innerHTML 插入 但所有角度绑定都不起作用
  • 我可以在 Express POST 请求中进行 DOM 操作吗?

    我正在使用基本的 HTML CSS 前端 目前有一个登陆页面 上面有一个表单 可将 一些数据发送到数据库 当请求完成后 它期待某种响应 在这种情况下 我正在重新渲染页面 但是 我想用某种感谢消息替换表单 以便用户知道它已正确发送 我尝试过简
  • Firestore onSnapshot() 方法多次触发

    我有一个带有多个路由和 vuex 的 vue cli 4 应用程序 Firestore 数据库已成功连接 我的应用程序立即反映从 Firestore 控制台应用于数据库的修改 在离开包含与 Firestore 同步 的组件的路线然后返回后
  • 在 Javascript 中按日期对数组进行排序

    我在用着sort 按日期排序数组 elements data sort function a b return a date getTime b date getTime 问题是某些元素缺少日期 或日期无效 这导致了这个错误 无法读取属性
  • 大型 AngularJS 应用程序设计

    我需要关于设计具有多个复杂模块的 AngularJS 应用程序的建议 并根据用户角色在身份验证和授权后加载模块 有些用户可以访问一个简单的模块 有些用户可以访问仪表板 有些用户可以访问 2 个以上的模块 我们已经确定了许多可以在不同模块中重
  • 使用 document.getElementById().style.height javascript 从 css 获取值

    请提供有关这个谜团的见解 我试图通过以下方式从 div 框中获取高度值 var high document getElementById hintdiv style height alert high 如果该属性包含在 div 标记中 我可
  • 最有用的 jQuery 原生 API 函数

    前 5 10 个最常用的 jQuery 本机 API 函数是什么 请不要建议 jQuery 函数本身 因为毫无疑问这是最常用的函数 如果可能的话 还请提供它们所涵盖的场景 提出这个问题的原因是我尝试创建一个类似 jQuery 的 API充足
  • JS 中的 .Jar 文件

    有谁知道如何在 JS 中访问 jar 文件 我已经用 Java 创建了类并作为 jar 文件导入 我想从 JS 文件访问该类 大家好 我感谢你们所有人 我尝试在 Firefox XUL 中使用 JS 列出文件夹中的文件 但我做不到 然后我决
  • Mocha 测试对原生 ES6 模块的“esm”支持

    有一个很棒的帖子 使用 Mocha 和 esm 测试原生 ES 模块 https web archive org web 20220318155753 https alxgbsn co uk 2019 02 22 testing nativ
  • HttpRequest 和 XMLHttpRequest 之间的真正区别

    阅读前注意事项 这不是重复的xmlhttprequest 和 httprequest 之间的区别是什么 https stackoverflow com questions 8499062 what are differences betwe
  • JavaScript IDE/编译器

    现在 我希望你们中的一些人能够理解我的要求 我是编程新手 我在 Codecademy com 上了解了 JavaScript 我使用 labs codecademy com 来编写 JavaScript 但它有限制 对于编程新手来说 我可以
  • 使用 puppeteer 部署 firebase 功能时说即使我启用了 --no-sandbox 也找不到 chrome

    我正在尝试将 firebase 函数部署到使用 puppeteer 的 firebase 项目 我让它在本地计算机上运行 但是当它尝试在 firebase 上运行时 我收到此错误 Exception from a finished func
  • 如何让JS变量在页面刷新后保留值? [复制]

    这个问题在这里已经有答案了 是否可以永久更改 JavaScript 变量 例如 如果我设置变量 X 并使其等于 1 然后按钮的 onClick 将该变量更改为 2 如何使该变量在刷新页面时保持为 2 这是可能的window localSto

随机推荐

  • LC振荡器设计

    设计要求 设计出振荡频率为10GHZ的LC振荡器 如有侵权即删 一 设计步骤 1 选取LC振荡回路的值 f L 5 经验公式 可能会根据工艺的不同而变化 可以提前测试 f 10GHZ 得到选取的L值为0 5nH 寄生电阻设置为50m 注意
  • docker和k8s面试题总结(未完待续)

    6 容器类面试题 6 1 docker有几种网络模式 容器和容器之间怎么通信 主机和主机之间怎么通信 docker 有四种网络模式 none 桥接 默认模式 Host container 容器之间通过桥接模式进行通信 跨主机的容器之间通过静
  • easypoi基本使用-Excel数据的导入导出

    1 为什么要用easypoi 实现excel表格的导入导出 基于模板的导出 easypoi简化poi的操作 让人更加快速上手使用 2 easypoi使用 引入依赖
  • Git-gitignore规则之“感叹号“的用法坑点

    本文只讲一个知识点 开头的模式标识否定 该文件将会再次被包含 如果排除了该文件的父级目录 则使用 也不会再次被包含 以下面的例子进行说明 目标是要保留文件夹1中所有各层文件夹中的c文件 其他都不要 文件夹1 test c一个文件 文件夹1
  • 文件——统计成绩

    从键盘输入以下10 个学生的学号 姓名 以及数学 语文和英语成绩 写到文本文件f3 txt 中 再从文件中取出数据 计算每个学生的总成绩和平均分 并将结果显示在屏幕上 程序 include
  • vscode开启鼠标滚轮缩放字体大小设置

    打开首选项 进入设置 搜索zoom 给滚轮缩放字体选项打上钩 完成
  • Flutter实战篇(1):使用第三方极光认证一键登录

    Flutter实战篇 1 使用第三方极光认证一键登录 需求场景 在项目中有时会碰到需要手机号一键登录的需求 那么我们可以利用第三方极光平台的认证模块进行集成 实操Let s Go 首先导入第三方官方插件 jverify jverify 2
  • LaTex排版技巧:[15]公式太长如何换行?

    https jingyan baidu com article d7130635045b2013fcf47543 html LaTeX作为一个功能强大国际通用的排版软件 它特别适合于数理科学中科技论文 专业书籍排版 LaTeX尤其适合于各种
  • Python案例分析:使用LightGBM算法、随机森林、五折交叉验证进行分类预测

    1 数据导入 import pandas as pd import numpy as np import warnings from imblearn import under sampling over sampling from imb
  • 【计算机毕业设计】redis的电商秒杀系统

    redis的电商秒杀系统 开发语言 Java 框架 springcloud JDK版本 JDK1 8 服务器 tomcat7 数据库 mysql 5 7 一定要5 7版本 数据库工具 Navicat11 开发软件 eclipse myecl
  • MySQL中limit对于order by的优化

    一 无limit的场景对于order by如何优化 考虑无limit的order by语句 下面假设age是一个普通索引 1 1 查询无覆盖索引 select from emp order by age 此句中 查询的字段和order by
  • slf4j如何进行logback配置呢?

    转自 slf4j如何进行logback配置呢 slf4j简介 slf4j simple logging facade for java的缩写 翻译为java的简单日志外观 slf4j是一个开源项目 它提供我们一个一致的API来使用不同的日志
  • js逆向工具-nodejs服务使用

    目录 一 运行js文件 二 引入或开放接口模块 1 提供模块公开接口module exports 2 引入模块require 三 GET POST请求 1 获取GET请求内容 2 获取Post请求内容 四 创建Web服务器 客户端 1 No
  • Select的OnChange()事件

    我们用Select的onchange事件时 常会遇到这样一个问题 那就是连续选相同一项时 不触发onchange事件 select的onchange事件就是这样子的 你得有Change 改变 才能触发该事件 掌握了它的特性后 相应的解决办法
  • 操作系统-进程API

    概述 进程的基本操作接口 进程创建 fork spawn vfork clone 进程执行 exec 进程间同步 wait 进程退出 exit abort 进程创建 fork fork 语义 为调用进程创建一个一模一样的新进程 fork后的
  • Java 多线程 --- 创建线程, 线程状态

    Java 多线程 创建线程 线程状态 如何创建线程 使用Thread类 使用Runnable接口 使用Runnable接口和继承Thread类的区别 continue 线程状态 New Threads Runnable Threads Bl
  • 华为OD机试真题- 字符串解密【2023Q1】【JAVA、Python、C++】

    题目描述 给定两个字符串string1和string2 string1是一个被加扰的字符串 string1由小写英文字母 a z 和数字字符 0 9 组成 而加扰字符串由 0 9 a f 组成 string1里面可能包含0个或多个加扰子串
  • IntelliJ插件开发教程之调试插件

    JetBrains公司系列产品IDEA WebStrom PyCharm CLion GoLand等都是基于IntelliJ Platform开发而成 掌握IntelliJ插件开发技能便能拥有提升开发效率的终极武器 本教程Demo源码请关注
  • JS 解析 key-value 最佳实践

    一般请求接口返回的数据大部分是 json 格式 JS 解析某个字段数据 相信大家都会遇到取某个字段可能会是 undefined 或者 null 类型 如果代码忘记处理 bad case 就会挂了 下面代码是封装了对字典的解析 感觉挺好用的
  • Js对象数组,根据对象关联键合并一个新数组

    Js对象数组 根据对象关联键合并一个新数组 需求 合并数组a b为一个对象数组 数组中每一个对象由 id name age 组成 const a id 1 name ty1 id 2 name ty2 id 3 name ty3 id 4