gpt4 book ai didi

JavaScript - 使用以下命令将源对象的属性扩展到目标对象

转载 作者:太空宇宙 更新时间:2023-11-04 16:01:12 24 4
gpt4 key购买 nike

我正在构建一个 JavaScript 函数,该函数将源对象的可枚举属性分配给目标对象。但是,后续源会覆盖先前源的属性分配。

如果这样调用的话示例:

extend({ 'user': 'barney' }, { 'age': 40 }, { 'user': 'fred' });

应该返回 --> { 'user': 'fred', 'age': 40 }

奖励:使用Reduce

这是编程训练营的练习/挑战,我不断地研究以找到解决方案。我的问题是测试对象不包含在数组中,因此我无法使用reduce 来操作它们。我尝试了多种方法来更改测试对象,例如 Array.prototype.slice.call(arguments)。

仍在学习中,因此如果有任何疏忽或注意事项,请告诉我。我已经这样做了一段时间,所以我非常有信心可能存在一些简单的心理错误

我目前无法通过我拥有的代码提供的所有测试。

示例代码:

function extend(destination) {
var args = Array.prototype.slice.call(arguments);

var result = args.reduce(function (newObj, currentObj) {
for (var key in currentObj) {
if (currentObj.hasOwnProperty(key)) {
newObj[key] = currentObj[key];
}
}
return newObj;
}, {});

return result;
}

最佳答案

function extend(...objs){
return objs.reduce((newobj,obj)=>Object.assign(newobj,obj),{});
}

... 运算符返回参数数组。所以你可以减少它,并使用对象分配来复制 Prop ... http://jsbin.com/xamoremati/edit?console ,有趣的是,这并没有覆盖...

关于JavaScript - 使用以下命令将源对象的属性扩展到目标对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42256404/

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