【问题标题】:Rename object root with dynamic value [duplicate]用动态值重命名对象根[重复]
【发布时间】:2019-05-04 00:15:35
【问题描述】:

我有一个类似的对象:

{ color: blue, type: color }

我正在尝试重新格式化它以嵌套在另一个对象中:

{
 object: 
 {color: blue, type: color}
}

技巧是对象的根名称(上例中的object)将是变量的值,而不是硬编码。

我可以使用硬编码的解决方案来创建它,例如:

let obj = { color: blue, type: color }
let newObj = {
 obj
}

我尝试过以各种方式使用Object.keys(obj).map(key => {}),但无法接近解决方案,它总是最终重命名“内部”对象中的键

我觉得我错过了一些明显和基本的东西,但我很难过

【问题讨论】:

  • let newObj = obj
  • { [name]: obj }?
  • @jonrsharpe 是的,没错。感谢您的迅速回复。我只能找到处理重命名多个对象键的答案

标签: javascript


【解决方案1】:

只需使用 { [NAME] : OBJ }。举个例子:

function getObjectName() {
  const myObject = { color: "red", name: "red color" };
  
  const newObject = { [document.getElementById("name").value] : myObject }
  
  console.log(newObject);  
}
<input id="name" onChange="getObjectName()">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 2020-10-14
    • 2012-11-11
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多