我有1个来自服务器的对象,具有多个属性,在其中我希望将其合并为一个新对象,更改1个属性的名称并保留其余属性。
代码:
JSON:{ UserId: 1, Name: "Woo", Age: 10 }
我想要的对象格式:
var newObj = {}
newObj.id = jsonObj.UserId;
//Everything property below here is the same. How can i prevent writing this code?
newObj.Name = jsonObj.Name;
newObj.Age = jsonObj.Age;
我正在做的就是基于answer,试图将一些json解析为一种格式,该格式要求我更改1属性的名称。
最佳答案
对于这种简单的情况,您可以执行以下操作:
var newObj = {id: jsonObj.UserId, Name: jsonObj.Name, Age: jsonObj.Age};
对于具有大量字段的更复杂的对象,您可能更喜欢以下内容:
//helper function to clone a given object instance
function copyObject(obj) {
var newObj = {};
for (var key in obj) {
//copy all the fields
newObj[key] = obj[key];
}
return newObj;
}
//now manually make any desired modifications
var newObj = copyObject(jsonObj);
newObj.id = newObj.UserId;
关于javascript - 复制Javascript对象属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6620296/