Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:如何重命名对象中的所有键(在第一级处理所有键)?_Javascript - Fatal编程技术网

JavaScript:如何重命名对象中的所有键(在第一级处理所有键)?

JavaScript:如何重命名对象中的所有键(在第一级处理所有键)?,javascript,Javascript,我想为对象中的第一级关键点添加前缀 为了减少歧义,我希望可以展示Python中的字典理解是如何实现这一点的优雅方式(我正在寻找JavaScript中的类似方法): >>old={a:1,“b:2} >>>前缀=“”“ >>>new={prefix+key:key的值,old.items()中的值] >>>新的 {'u a':1,'u b':2} 在现代JavaScript中,理想的NodeJS 12提供了一种类似的优雅且可读性特别强的方式来实现这一点吗?通过将对象转换为条目。使用迭代条目并更新

我想为对象中的第一级关键点添加前缀

为了减少歧义,我希望可以展示Python中的字典理解是如何实现这一点的优雅方式(我正在寻找JavaScript中的类似方法):

>>old={a:1,“b:2}
>>>前缀=“”“
>>>new={prefix+key:key的值,old.items()中的值]
>>>新的
{'u a':1,'u b':2}

在现代JavaScript中,理想的NodeJS 12提供了一种类似的优雅且可读性特别强的方式来实现这一点吗?

通过将对象转换为条目。使用迭代条目并更新密钥。使用以下命令将条目转换为对象:

const old={“a”:1,“b”:2}
const prefix=“\”
const result=Object.fromEntries(
Object.entries(old.map)([k,v])=>[`${prefix}${k}`,v])
)

console.log(result)
我建议使用Object.entries和reduce的组合;我认为这将减少通过对象的迭代次数,而不是其他解决方案

constobj={“a”:1,“b”:2};
const newObj=Object.entries(obj).reduce((acc[key,value])=>{
acc[`{key}`]=值;
返回acc;
}, {});
console.log(newObj)
var-json={'k':'v','m':'n'};
变量前缀='";
var val=Object.assign(
{},
…Object.keys(json.map)(key=>({[prefix+key]:json[key]}))
)

控制台日志(val)也刚从条目中找到,再次删除我的答案。你跑得更快。:)在这里添加:
Object.fromEntries
非常新,它位于ECMAScript 2019的初始定义中。但它确实已经在节点12中可用。非常感谢。另一个注意事项是,在Typescript的
tsconfig.json
中,这需要
的“目标”:“es2019”
以便编译。