使用javascript从现有对象创建新对象
我想知道如何使用javascript创建一个格式的对象。 下面的函数可以工作,但在创建下面格式的对象时遇到了问题 尝试 投入使用javascript从现有对象创建新对象,javascript,arrays,object,Javascript,Arrays,Object,我想知道如何使用javascript创建一个格式的对象。 下面的函数可以工作,但在创建下面格式的对象时遇到了问题 尝试 投入 var list = { "items": { "TR": "trans", "FU": "fund", "IN": "insta" } } 输出 "newitem": { "TR": "Trans", "FU": "Fund", "IN": "Insta" } map将为您提供一个数组,而不是一个对象。您可以改为
var list = {
"items": {
"TR": "trans",
"FU": "fund",
"IN": "insta"
}
}
输出
"newitem": {
"TR": "Trans",
"FU": "Fund",
"IN": "Insta"
}
map将为您提供一个数组,而不是一个对象。您可以改为使用来为您提供一个对象:
var result = Object.keys(list.items).reduce((a,k)=> {
a[k] = changeData(list.items[k]);
return a;
}, {});
如果愿意,您也可以使用for或forEach,但reduce可以为您节省一两行代码。为什么不在循环中创建for并更改每个值?如果您使用的是babel或者您可以添加一个多边形填充,那么您还可以执行类似Object.fromEntriesObject.entrieslist.items.map[key,balue]=>[key,changeDatavalue]
var result = Object.keys(list.items).reduce((a,k)=> {
a[k] = changeData(list.items[k]);
return a;
}, {});