gpt4 book ai didi

javascript - 是否有正确的方法来克隆 JavaScript 中对象的某些原始属性?

转载 作者:行者123 更新时间:2023-12-03 03:59:10 26 4
gpt4 key购买 nike

我需要一个简单的函数将原始属性列表从一个对象映射到另一个对象。我自己写了一个,但我想已经有一种经过验证的方法可以实现这一点。

var mapProperties = function (props, from) {
var to = {};

for (var i = 0; i < props.length; i++) {
to[props[i]] = from[props[i]];
}

return to;
}

然后使用如下函数:

var fromObj = {
foo: "foo",
bar: 1
}

var toObj = mapProperties(['foo', 'bar'], fromObj);

还有更好的想法吗?

最佳答案

如果您不希望使用 DeepClone,那么您可以使用 Object.assign 将所有可枚举自身属性的值从一个或多个源对象复制到目标对象。

var fromObj = {
foo: "foo",
bar: 1
}

var targetObject = Object.assign({}, fromObj);
console.log(targetObject);

对于深度克隆,您可以使用 JSON.parseJSON.stringify 方法。

var fromObj = {
foo: "foo",
bar: 1,
deepClone : {
newProp : 2
}
}

var targetObject = JSON.parse(JSON.stringify(fromObj));
targetObject.deepClone.newProp = 4;
console.log(targetObject);

关于javascript - 是否有正确的方法来克隆 JavaScript 中对象的某些原始属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44805944/

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