_.assignIn

语法:

_.assignIn(object, [sources])

源代码链接:source

npm包链接:npm package

描述:

这个方法类似_.assign, 除了它会遍历并继承来源对象的属性。

Note:这方法会改变object

开始版本:4.0.0

别名:_.extend

参数:

  • object (Object): 目标对象。

  • [sources] (...Object): 来源对象。

返回值:

  • (Object): 返回 object。

例子:

function Foo() {
  this.a = 1;
}

function Bar() {
  this.c = 3;
}

Foo.prototype.b = 2;
Bar.prototype.d = 4;

_.assignIn({ 'a': 0 }, new Foo, new Bar);
// => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }

解析:

正常情况下标准对象不会有问题

let A = {a:1, b:1};
let B = {b:3, c:2};
let C = {b:2, c:3};
console.log(_.extend(A, B, C));

console.log(B);

解析:注意在使用mongoose(使用的版本是4.1.3)模块时候,如果B的位置是一个模型对象,我发现B位置对象值也收到C对中的值进行了改变。

Last updated