使用对象键值作为新对象的键[关闭]

问题描述 投票:0回答:1

尝试在 vanilla JS 中更好地处理数据变异,但在这里没有成功。

我只是尝试使用一个对象的值来创建另一种格式的键。

还尝试了字符串插值

${}
等,有人可以显示我的错误吗?评论中的例子就是我想要的

var = { x: 'left', y: 'top', z: 'front' }
=> 变成 =>
{left: top, extra: { front: true }

但显然语法很困难,谢谢!

const obj1 = {
  aKey: 'a_value',
  bKey: 'b_value',
  cKey: 'c_value'
}

/************************* pseudo what I want to turn this into:
  obj2 = {
    [a_value]: [b_value],
    adhocKey: {
      [c_value]: true
    }
  }
*/

const obj2 = {
  obj1[aKey]: obj1[bKey],
  adhocKey: {
    obj1[cKey]: true
  }
}
console.log(obj1)

const obj3 = {
  obj1.aKey: obj1.bKey,
  adhocKey: {
    obj1.cKey]: true
  }
}
console.log(obj2)

查看描述详情

javascript object
1个回答
0
投票

您可以使用括号符号将

x
的值用作键,例如
[x]: ...

const
  original = { x: 'left', y: 'top', z: 'front' },
  result = { [original.x]: original.y, extra: { [original.z]: true } };

console.log(result); // { left: top, extra: { front: true }

© www.soinside.com 2019 - 2024. All rights reserved.