gpt4 book ai didi

javascript - 使用条件将属性从一个对象复制到另一个对象

转载 作者:数据小太阳 更新时间:2023-10-29 05:11:51 26 4
gpt4 key购买 nike

Lazy-me 想知道是否有更好的方法将一个对象(源)中的属性复制到另一个对象(目标),前提是后者存在属性?它不一定必须使用下划线。

例如,

_.mixin({
assign: function (o, destination, source) {
for (var property in source) {
if (destination.hasOwnProperty(property)) {
destination[property] = source[property];
}
}
return destination;
}
});

console.log( _().assign({ a: 1, b: 2, d: 3 }, { a: 4, c: 5 }) ) // a: 4, b: 2, d: 3

最佳答案

使用 ES6 原生的 Object.assign(obj1, obj2);(如果属性存在于后者中)(不需要 underscore.js)。

The Object.assign() method is used to copy the values of all enumerable own properties from one or more source objects to a target object. It will return the target object. More info here.

例子:

var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };

var obj = Object.assign(o1, o2, o3);
console.log(obj);

或者使用 undescore.js

_.extend(目的地, *来源)

_.extendOwn(destination, *sources)

详细信息可以在这里找到: http://underscorejs.org/#extend

关于javascript - 使用条件将属性从一个对象复制到另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38953429/

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