当前位置: 首页 > 编程笔记 >

Lodash库中.extend()/ .assign()和.merge()之间的区别。

庄康胜
2023-03-14
本文向大家介绍Lodash库中.extend()/ .assign()和.merge()之间的区别。,包括了Lodash库中.extend()/ .assign()和.merge()之间的区别。的使用技巧和注意事项,需要的朋友参考一下

分配/扩展采用源中的每个属性,将其值原样复制到目标。如果属性值本身是对象,则不会对其属性进行递归遍历。这也称为浅复制/克隆。整个对象将从源中取出并放入目的地。

合并采用源中的每个属性,检查该属性是否是对象本身。如果它随后递归下降,并尝试将子对象属性从源映射到目标。

示例

let _ = require('lodash');
let destination = {
   a: {
      b: 1,
      c: 2
   },
};
let source = {
   a: {
      d: 2,
      c: 3
   },
};
console.log(_.merge(destination, source));
console.log(_.extend(destination, source));

输出结果

这将给出输出-

{ a: { b: 1, c: 3, d: 2 } }
{ a: { d: 2, c: 3 } }
 类似资料:
  • 问题内容: 在Lodash库中,有人可以更好地解释合并和扩展/分配。 这是一个简单的问题,但答案仍然使我回避。 问题答案: 下面是如何/作品:对于源的每个属性,复制其价值,是到目的地。如果属性值本身是对象,则不会对其属性进行递归遍历。整个对象将从源中获取并设置到目标中。 下面是如何工作的:对于源的每个属性,检查如果该属性是对象本身。如果是,则递归关闭并尝试将子对象属性从源映射到目标。因此,实质上,

  • 在Lodash库中,是否有人可以更好地解释合并和扩展/分配。 这是一个简单的问题,但我还是没有回答。

  • 问题内容: 已关闭 。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗? 更新问题,以便通过编辑此帖子以事实和引用的形式回答。 去年关闭。 为什么有人会比其他人更喜欢lodash.js或underscore.js实用程序库? Lodash似乎是下划线的替代品,下划线的使用时间更长。 我认为两者都很出色,但是我对它们的工作方式还不甚了解,无法进行有根据的比较,我想进一步了解它们之间的差异。

  • 问题内容: 我已经看到在Python中实际上有两种(也许更多)串联列表的方法:一种方法是使用extend()方法: 另一个使用plus(+)运算符: 现在,我想知道:这两个选项中的哪一个是列表连接的“ pythonic”方式,并且两者之间有区别(我查看了Python的官方教程,但找不到有关此主题的任何信息)。 问题答案: 在字节码级别上的唯一区别是,该方式涉及函数调用,在Python中该函数比。调

  • 本文向大家介绍lodash和下划线之间有什么区别?,包括了lodash和下划线之间有什么区别?的使用技巧和注意事项,需要的朋友参考一下 lodash和underscore都是实用程序库,它们通过提供使数组,数字,对象,字符串等的使用更加容易的实用程序,使JavaScript变得更容易。这些库非常适合- 迭代数组,对象和字符串 操作和测试值 创建复合函数 它们都是功能库。Lo-Dash是Unders

  • 问题内容: Hibernate中的persist()和merge()有什么区别? 可以创建UPDATE&INSERT查询,例如: 在这种情况下,将生成 查询, 如下所示: 因此方法可以 生成 一个插入和一个更新。 现在: 这是我在数据库中看到的: 现在使用更新记录 这是我在数据库中看到的: 问题答案: JPA规范包含对这些操作的语义的非常精确的描述,比在javadoc中更好: 应用于实体X 的 p