gpt4 book ai didi

javascript - Lodash - .extend()/.assign() 和 .merge() 之间的区别

转载 作者:IT老高 更新时间:2023-10-28 13:11:18 24 4
gpt4 key购买 nike

Lodash图书馆,有人可以提供更好的解释mergeextend / assign .

这是一个简单的问题,但答案却让我回避了。

最佳答案

extend/assign 的工作原理如下:对于源中的每个属性,将其值原样复制到目标。如果属性值本身是对象,则不会递归遍历它们的属性。整个对象将从源获取并设置到目标。

merge 的工作原理如下: 对于源代码中的每个属性,检查该属性是否是对象本身。如果是,则递归下去并尝试将子对象属性从源映射到目标。所以本质上我们将对象层次结构从源合并到目标。而对于 extend/assign,它是从源到目标的简单的一级属性副本。

这里有一个简单的 JSBin,可以让这一切变得一清二楚: http://jsbin.com/uXaqIMa/2/edit?js,console

下面是更详细的版本,示例中也包含数组: http://jsbin.com/uXaqIMa/1/edit?js,console

关于javascript - Lodash - .extend()/.assign() 和 .merge() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19965844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com