¿Cómo puedo cambiar el campo "ABC" en el siguiente código?
var data = {ABC:{key:'dynamic_key',value:'dynamic_value'}}Normalmente, puedo dar el valor que quiero diciendo data.ABC.key, pero lo que realmente quiero es usar data.CCC en lugar de data.ABC, así que solo quiero cambiar el nombre ABC.
Vuelva a asignar el objeto interno a la nueva clave de objeto externo, luego elimine el anterior.
var data = {ABC:{key:'dynamic_key',value:'dynamic_value'}} data.CCC = {...data.ABC} delete data.ABC console.log(data) var data = {ABC:{key:'dynamic_key',value:'dynamic_value'}} data = {CCC: data.ABC} console.log(data)EDITAR ... Si desea usar una cadena de una variable para establecer la nueva clave, use la notación de corchetes:
var data = {ABC:{key:'dynamic_key',value:'dynamic_value'}} var newKey="CAR" data[newKey] = data.ABC delete data.ABC console.log(data)data.CCC = data.ABC // on object create new key name. Assign old value to this delete data.ABC //delete object with old key nameproducción:
{ "CCC": { "key": "dynamic_key", "value": "dynamic_value" } }