如何在javascript中替换对象数组中的对象(lodash)

2024-01-14

我有以下对象数组:

var arr = [
  {
    id    : "a1",
    guid  : "sdfsfd",
    ...
    value : "abc",
    status: false
  },
  {
    id    : "a2",
    guid  : "sdfsfd",
    ...
    value : "def",
    status: true
  },
  ...
]

我有这个对象:

var obj = {
  id      : "a1",
  guid    : "sdfsfd",
  ...
  value   : "xyz",
  status  :  true
}

我需要用“id”相同的对象替换数组中的对象。所以结果数组将是:

var arr = [
  {
    id    : "a1",
    guid  : "sdfsfd",
    ...
    value : "xyz",
    status: true
  },
  {
    id    : "a2",
    guid  : "sdfsfd",
    ...
    value : "def",
    status: true
  },
  ...
]

此外,如果具有该 id 的对象不存在,我需要将此对象添加到数组中。

如何使用最少的资源来实现这一点lodash https://lodash.com/docs/4.17.4代码? 寻找类似的东西

arr = _.merge_by_key(arr,obj,"id");

你可以这样做_.unionBy

var res = _.unionBy([obj], arr, 'id');

但请查看注释这条评论 https://stackoverflow.com/questions/42265987/how-to-replace-an-object-in-object-array-in-javascript-lodash/42266640?noredirect=1#comment71690056_42266640

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

如何在javascript中替换对象数组中的对象(lodash) 的相关文章

  • Safari 不触发表单提交

    对于一个项目 我有两个选择表单字段 它们通过 jquery 触发器 提交 发送 这在 Firefox 和 Chrome 中运行良好 但在 Safari 中没有任何反应 这是 HTML 代码
  • 禁用 chrome React DevTools 以进行生产

    我正在尝试使用 gulp 和 envify 对我的 React 应用程序进行浏览器化以设置 NODE ENV 因此 我可以删除反应警告 控制台中的错误报告 甚至我的代码来禁用某些功能 例如react addons perf的要求 而且效果很
  • YouTube 360​​ 视频 iframe 无法在移动浏览器中工作

    我正在尝试为 YouTube 360 视频获取嵌入的 iframe 以便在我的移动网站上播放 它在桌面浏览器上运行良好 但在移动浏览器中我只能播放平面立体视图 我可以确认它绝对是一个 HTML5 播放器 这显然是其他人正在经历的一个未解决的
  • Chart.js 渲染垂直堆积条形图太慢

    我正在使用 Chart js API 渲染多个堆叠的垂直条形图 但性能很慢 我什至做了一些改变 这样所有的content对象已经由服务器而不是浏览器处理 但我意识到大部分时间来自最终函数new Chart overallStatsChart
  • (IE 特定)如何确定输入的文本是否比输入元素的宽度长

    这是所有版本 IE 特有的问题 在所有其他浏览器中 当文本溢出时 输入元素的scrollWidth 大于输入元素的clientWidth 有没有办法确定IE中输入字段中的文本超出了输入元素宽度的键 下面是一个检查 clientWidth 与
  • 如何在 的每四个循环项之后添加

    我想在循环中的每第四个数字项之后退出循环 我想创建一个二十人的名单 在每一个tr应该是4个人 So I want to break from the loop after every 4th number of loop My one tr
  • 使用 lambda 更新 amazon s3 对象元数据而不执行对象复制?

    是否可以使用 lambda 函数添 加或更新 s3 对象元数据而不复制对象 这篇 2 年前的帖子说我们确实需要复制一份 https stackoverflow com questions 32646646 how do i update m
  • 将表单传递给 AngularJS 组件进行验证

    我正在将旧代码库迁移到 AngularJS 1 5 所推广的新组件架构 我在对较大的表单执行此操作时遇到了问题 传统上 我会附加表单验证 如下所示
  • 在多个 angular.js 应用程序之间共享单个服务

    我正在构建一个电子商务网站 基于 shopify 并且使用多个小型 angularjs 应用程序来处理诸如快速购物车 愿望清单 过滤产品和其他一些较小项目之类的事情 我最初使用了一个大型应用程序 具有路由和所有内容 但当我没有完整的 RES
  • 将 MVC 操作结果发送到打印机

    我有一个带有操作的控制器 SomeController ActionToBePrinted ActionToBePrinted 返回一个 html 视图 当按下按钮时 从普通的 mvc razor 视图调用此操作 当按下按钮时 我将如何将视
  • 如何在 Ionic 2 中动态创建具有特定类的模式?

    嗨 我已经被一个问题困扰好几天了 到目前为止还没有研究证明足够 我正在尝试在 Ionic 2 中创建一个具有特定类 或 id 的简单模式 我需要这样简单的东西
  • 如何从矩形点计算旋转角度?

    我有4分1 2 3 4闭合一个矩形 这些点按以下方式排列在数组中 x1 y1 x2 y2 x3 y3 x4 y4 我遇到的问题是矩形可以旋转一定角度 如何计算原始点 灰色轮廓 和角度 我试图在 javascript css3 transfo
  • 无法将中间件与 Firebase 和 NuxtJS 3 一起使用

    我正在尝试在示例项目中使用 Firebase 身份验证 身份验证按预期工作 但是一旦我想使用中间件来阻止用户访问管理页面或在已经登录的情况下访问登录页面 这是不可能的 我已经尝试了几个小时 但没有任何效果 这是我的package json
  • setTimeout() 的问题

    这是我的代码 我想要它做的是写 0 等待一秒 写 1 等待一秒 写 2 等待一秒 等等 而是写 5 5 5 5 5 for i 0 i lt 5 i setTimeout document write i 1000 http jsfiddl
  • 为什么 if 语句中的赋值等于 true?

    首先我要说的是我理解两者之间的区别 and 第一个用于将右侧值分配给左侧变量 第二个用于比较两个值的等价性 第三个不仅用于等价性 还用于类型比较 即true 1会回来false 所以我知道almost任何时候你看到if 作者很有可能打算使用
  • 如何在 Vue.js 2 中使用事件总线通过自定义事件传递数据

    我在用着Vue js 2 5 x 在我的玩具项目中 我实现了一个事件总线 类似于所示的here https alligator io vuejs global event bus 事件总线在 Vue 原型中全局注册为 eventBus 然后
  • js中将div旋转到一定高度

    How to rotate a div to certain height suppose 10px I can rotate a div otherwise around 360 degrees I need the angle by w
  • 如何防止 CSS 或 jQuery 中单词和标点符号之间的换行

    我在一个段落中有一些文字 我的问题是 当标点符号位于单词末尾时 有时可以换行到下一行 像这样 This is the text This is a new line 我可以用 CSS 或 jQuery 解决这个问题吗 如果您不在单词和标点符
  • 检测浏览器是否支持 contentEditable?

    There s 这个问题 https stackoverflow com questions 3497942 browser detect contenteditable features 但发布的解决方案是浏览器嗅探 我试图避免这种情况
  • 使用来自Processing-JS的JSON

    我想使用编写一个应用程序处理 JS http processingjs org 并且我希望能够使用服务器端数据加载它 我还没有编写服务器端 所以我可以使用任何东西 但似乎明显的 AJAX 事情是使用 JSON 将数据上传到页面中 如何从我的

随机推荐

  • `multirust` 在哪里安装 Rust 语言源代码?

    我安装了multirustRust 编程语言的版本 我试图配置racer代码完成包通过以下方式指向 Rust 源代码RUST SRC PATH环境变量 但是 我似乎找不到 Rust 源文件的位置 当我打字时which rustc我被指出 u
  • 无法在 Android 项目中导入 Google Cloud Endpoints 客户端库类

    我无法让 Google Cloud Endpoints 正常工作 我有一个在 GAE 上运行的 Python 端点项目 并且使用 api 资源管理器可以完美运行 然而 我正在努力正确生成客户端库并在我的 Android 应用程序中使用它 我
  • 如何格式化 Opera 浏览器的输入占位符文本?

    我使用下面的伪元素和伪类使用 CSS 设置了占位符文本的样式 这可以在除 Opera 之外的所有主要浏览器上完成工作 我的理解是 Opera 不支持占位符文本样式 有谁知道如何设计 Opera 输入占位符文本的样式 CSS webkit i
  • Sequelize:销毁/删除表中的所有记录

    我正在使用 Mocha 进行单元测试 当测试开始时 我想删除表中所有以前的记录 我尝试过的 db User destroy force true then gt then gt done db User destroy where unde
  • R 如何在将 csv 文件写入磁盘之前估计其大小

    R 有什么方法可以在实际将 csv 文件写入磁盘之前估计其文件大小write csv or readr write csv 如果用户不小心尝试在函数中将大文件写入磁盘 我想实现警告 数据帧的内存占用之间似乎存在某种关系 object siz
  • 加载 R 包时如何分配可用的变量?

    我已经弄清楚如何制作一个包含一些我经常使用的调色板的包 我修改了代码this https drsimonj svbtle com creating corporate colour palettes for ggplot2博客文章以使其发挥
  • 在程序集中写入文件时出现问题

    我正在尝试用汇编语言编写一个简单的程序 在其中打开一个现有文件并在其中写入一条消息 这是我在数据段中定义的消息 当我想写入文件时会出现问题 在我尝试写入后 AX 寄存器将包含 5 诺顿专家指南称这是 拒绝访问 错误代码 关于我做错了什么有什
  • IronPython db-api 2.0

    有谁知道哪些 db api 2 0 驱动程序可以与 IronPython 配合使用 如果是这样 有人尝试过将它与 SQLAlchemy SQLObject 或 Django ORM 一起使用吗 我知道这是一个很晚的答案 但我今天才看到这个问
  • 如果请求参数不是 Spring MVC 中的 bean,如何验证请求参数?

    下面是我的 Spring MVC REST 服务中的 POST 端点 我想使用 spring 验证框架来确保我收到的列表不为空 我该怎么做 我必须向周围提供包装豆吗listOfLongs RequestMapping value some
  • 使用神经网络进行异或 (Matlab)

    所以 我希望这是我正在做的一件真正愚蠢的事情 并且有一个简单的答案 我正在尝试训练 2x3x1 神经网络来解决 XOR 问题 它不起作用 所以我决定深入了解发生了什么 最后 我决定自己分配权重 这是我想出的权重向量 theta1 11 0
  • 在 mac M1 芯片上构建 docker amd64 镜像

    我正在尝试以两种方式在我的 mac M1 arm64 上构建 dockerfile 下面是 dockerfile 的重要部分 FROM erlang 24 elixir expects utf8 ENV ELIXIR VERSION v1
  • MinGW 32“未定义对‘ExitProcess@4’的引用”

    出于学习目的 我编写了一个小型汇编程序 test asm global main extern ExitProcess 4 section text main mov ebx 0 push ebx call ExitProcess 4 比我
  • 保存并加载自定义 Tensorflow 模型(自回归 seq2seq 多元时间序列 GRU/RNN)

    我正在尝试实现一个自回归 seq 2 seq RNN 来预测时间序列数据 如本 TensorFlow 教程所示 https www tensorflow org tutorials structured data time series a
  • 如何使用 python 读取和写入表/矩阵到文件?

    我正在尝试创建一个程序 该程序获取数据并将其放入文本文件中仅包含数字的 2 x 10 表中 然后程序需要在以后的迭代中检索此信息 但我不知道该怎么做 我一直在研究 numty 命令 常规文件命令以及尝试制作表格的方法 但我似乎无法让这一切发
  • 如何将现有的 SOAP 请求消息导入到 SoapUI?

    我有一堆 XML 格式的 SOAP 请求消息 有没有办法将它们导入到 SoapUI 项目中 我想导入它们并将其作为 测试请求 测试步骤添加到现有测试用例中 一种简单且更自动的方法是使用 groovy 脚本从包含 xml 请求文件的目录自动创
  • 不保留函数依赖的分解

    BCNF 分解什么时候不能保留函数依赖性 我试图弄清楚 R V W X Y Z 取自数据库设计和关系理论 http shop oreilly com product 0636920025276 do R S J T S J gt T T g
  • Python Pandas - 将某些列类型更改为类别

    我已将以下 CSV 文件输入到 iPython Notebook 中 public pd read csv categories csv public 我还将 pandas 导入为 pd 将 numpy 导入为 np 将 matplotli
  • 如何通过属性获取枚举类型?

    我编写了一个枚举类 我想按类型获取属性或按属性获取类型 但这似乎不可能 public enum AreaCode area1 7927 area2 7928 area3 7929 private final int ac AreaCode
  • 尽管存在 OpenSessionInViewFilter,但出现 LazyInitializationException

    尽管在堆栈跟踪本身中看到了过滤器 但我似乎在 Spring MVC 3 0 Hibernate 3 5 应用程序中随机收到以下 LazyInitializationException 知道我应该调查什么吗 07 Jun 2011 13 48
  • 如何在javascript中替换对象数组中的对象(lodash)

    我有以下对象数组 var arr id a1 guid sdfsfd value abc status false id a2 guid sdfsfd value def status true 我有这个对象 var obj id a1 g