JavaScript嵌套对象

时间:2013-07-19 19:03:13

标签: javascript object nested

我的结构如下:

{
    Name: "Test",
    OperationProperties.Prop1: "Val1",
    OperationProperties.Prop2: "Val2",
    OperationProperties.Prop3: "Val3"
}

但我需要将其表示为:

{
    Name: "Test",
    OperationProperties: {
                            Prop1: "Val1",
                            Prop2: "Val2",
                            Prop3: "Val3"
                         }
}

请告诉我,除了实施手工铸造外,有什么方法可以做到吗?

1 个答案:

答案 0 :(得分:0)

除了编写代码手动执行此操作之外,我没有找到任何方法。

function cast(source, prefix) {
    var result = {};

    for (var property in source){
        if(property.startsWith(prefix)){
            var propertyNameWithoutPrefix = property.replace(prefix + '.');
            result[prefix][propertyNameWithoutPrefix] = source[property];
        }else {
            result[property] = source[property]
        }
    }

    return result;
}