如何正确合并(像 [Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
[HttpPut("[action]")]
public IActionResult EditEmployee(Employee employee)
{
if (ModelState.IsValid)
{
_repo.edit(employee);
_repo.Save();
return Ok($"update was successful for {employee}");
}
return BadRequest("Something Went Wrong");
}
这样的两个 ES6类实例 ??
结果对象必须是同一类的实际实例,并且其属性应该是两个实例的属性的深层合并。
答案 0 :(得分:0)
如果不需要创建新实例,则可以执行以下操作
_.merge(instance1, instance2)
这将在保留原型的同时将instance2
属性深度合并到instance1
中。
如果合并的实例应该是一个全新的对象,则仍然可以实现:
let newInstance = Object.assign(Object.create(Object.getPrototypeOf(o1)), _.merge(o1, o2));
这将创建一个新对象,该对象是同一类o1
的实例,并将o1
和o2
的属性深度合并到其中。
但是,这种方法有一些警告,例如(来自here):
如果实例是大量使用创建的,则几乎不可能 构造函数中的闭包。我们现在可能永远不会 设置了值,以及如何重现这样的设置。