如何重命名对象的头键?

时间:2018-03-20 14:14:49

标签: javascript

我的对象具有以下结构:

{ 
   "head" : {
              "nestedObject" : {...}, 
              "someMoreObjects": {...}
            }
 }

如何在不丢失子值的情况下将键“head”更改为“newHead”?

3 个答案:

答案 0 :(得分:3)

我想你可以这样做吗?



const oldObj = {
  "head": {
    "nestedObject": { // ...
    },
    "someMoreObjects": { // ...
    }
  }
}

const newObj = {
  "newHead": {
    ...oldObj.head
  }
}

console.log(newObj)




答案 1 :(得分:2)

我相信这样的事情可以解决问题:

const myobj = {
  "head": {
    "nestedObject": { // ...
    },
    "someMoreObjects": { // ...
    }
  }
};

myobj.newHead = myobj.head;

delete myobj.head;

console.log(myobj)

基本上只需将head的值分配给新的属性名称(newHead),然后删除旧的属性名称。

答案 2 :(得分:1)

要获得预期的结果,请使用以下选项使用JSON.stringify,replace,JSON.parse

  1. JSON.stringify会将对象更改为字符串格式
  2. replace方法查找头部并替换为newHead
  3. JSON.parse会将数据解析为javascript对象
  4. var Obj = { 
       "head" : {
                  "nestedObject" : {}, 
                  "someMoreObjects": {}
                }
     }
    
    
    Obj = JSON.parse(JSON.stringify(Obj).replace("head", 'newHead'));
    
    console.log(Obj)

    代码示例 - https://codepen.io/nagasai/pen/oqBKRb?editors=1010