# \_.merge

**语法：**

```javascript
_.merge(object, [sources])
```

**源代码链接：**[source](https://github.com/lodash/lodash/blob/4.17.10/lodash.js#L13436)

**npm包链接：**[npm package](https://www.npmjs.com/package/lodash.merge)

**描述：**

该方法类似[`_.assign`](https://lodash.com/docs/4.17.10#assign)， 除了它递归合并`sources`来源对象自身和继承的可枚举属性到`object`目标对象。如果目标值存在，被解析为`undefined`的`sources`来源对象属性将被跳过。数组和普通对象会递归合并，其他对象和值会被直接分配覆盖。源对象从从左到右分配。后续的来源对象属性会覆盖之前分配的属性。

> **Note:**&#x8FD9;方法会改变对象`object`.

**开始版本：**&#x30;.5.0

**参数：**

* `object (Object)`: 目标对象。
* `[sources] (...Object)`: 来源对象。

**返回值：**

* `(Object)`: 返回 object.

**例子：**

```javascript
var object = {
  'a': [{ 'b': 2 }, { 'd': 4 }]
};

var other = {
  'a': [{ 'c': 3 }, { 'e': 5 }]
};

_.merge(object, other);
// => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
```
