我正在構建一個JavaScript函數,它將源對象的可枚舉屬性分配給目標對象。但是,後續來源會覆蓋以前來源的屬性分配。JavaScript - 將源對象的屬性擴展爲目標對象使用
例子,如果稱爲例如:
extend({ 'user': 'barney' }, { 'age': 40 }, { 'user': 'fred' });
應該返回 - >{ 'user': 'fred', 'age': 40 }
獎金:使用減少
這是一個編程訓練營,我的運動/挑戰爲了找到解決辦法,我一直在研究無盡的。我的問題在於測試對象不包含在數組中,所以我不能使用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;
}
順便說一下,你的代碼工作... –
呃,'常量extend = Object.assign;'? – Bergi