我有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/

10-11 06:13