繁体   English   中英

更改对象javascript的结构

[英]change structure of an object javascript

我想更改对象javascript的结构,例如:

我有这个结构:

obj = {
        "email": "abc@site.com", 
        "societe.name": "xyz"
      }

我想将其更改为:

obj = {
        "email": "abc@site.com",
        "societe": {
            "name": "xyz"
        }
      }

感谢帮助。

尝试这个:

var obj = {
    "email": "abc@site.com",
        "societe.name": "xyz"
};

var newObj = {};
var keys = Object.keys(obj);

for (var i = 0; i < keys.length ; i++) {
    var key = keys[i];

    // you can change this to '.name' if you want to be specific      
    if (key.indexOf('.') > -1) {
        var splitted = key.split('.');
        var innerObj = {};
        innerObj[splitted[1]] = obj[key];
        newObj[splitted[0]] = innerObj;
    } else {
        newObj[key] = obj[key];
    }
}

console.log(newObj);

JSFIDDLE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM