我想能夠更新一個對象或幾個對象使用一個函數指定我想要在Obeject中更新的位置。我不確定它的正確語法。我的下面的嘗試實際上是在原始對象中創建一個新參數,相反,我想更新User對象的現有字段。你如何specfy對象的位置函數參數javascript
var User = {
local: {
location: {
city: "",
state: ""
}
}
}
var Profile = {
location: {
city: "",
state: ""
}
}
function update(model, parameter, updatedLocation) {
return model[updatedLocation] = {
city: updatedLocation.city,
state: updatedLocation.state,
};
}
update(User, ["local"]["location"], { city: "ny", state: "ny"});
update(Profile, ["location"], { city: "ny", state: "ny"});
console.log(User);
console.log(Profile);
當前的代碼添加一個新的領域的原因是你傳遞的「參數」的方式。你需要一個字符串(不是數組),而且你不能按照你的方式組合兩個索引。例如'update(User [「local」],「location」,...'和'update(Profile,「location」,...'。你的函數也應該讀取'model [parameter]',而不是'model [updatedLocation]'。 –