【发布时间】:2022-01-19 16:11:11
【问题描述】:
我有一个像下面这样的对象
[
{
"day" : "monday",
"value": 1
},
{
"day" : "tuesday",
"value": 2
},
...
]
是否有任何本机 javascript 方法可以用新密钥替换密钥。这里我需要分别用“x”和“y”替换“day”和“value”。 (如下所示)
[
{
"x" : "monday",
"y": 1
},
{
"x" : "tuesday",
"y": 2
},
...
]
【问题讨论】:
-
这能回答你的问题吗? JavaScript: Object Rename Key
-
一种基本方法是使用
Object.entries,然后映射所有属性,然后执行Object.fromEntries以获取new 对象。那是可用的还是必须是同一个对象? (因为如果绝对必要,删除旧对象的所有属性并添加所有新属性是可行的,但我怀疑可能没有必要。) -
您正在尝试map an array onto another array。最简单的方法
arr.map(o => ({x: o.day, y: o.value})) -
使用solution from this answer,这可以是通用的。
const propMap = {day: 'x', value: 'y'}; const output = arr.map(o => renameKeys(o, propMap)) -
@ManuJ 很清楚,但您还没有尝试过。我们无法判断您在哪个部分遇到困难。没有尝试的问题总是会被关闭,因为答案只会为您完成工作,而不是回答对其他人有帮助的真正编程问题,这是 SO 的重点,它不仅仅是一次帮助一个人。见stackoverflow.com/help/how-to-ask。此外,search for
rename object keys javascript至少可以帮助您入门
标签: javascript arrays object