Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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_Arrays_Object - Fatal编程技术网

使用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将为您提供一个数组,而不是一个对象。您可以改为

我想知道如何使用javascript创建一个格式的对象。 下面的函数可以工作,但在创建下面格式的对象时遇到了问题

尝试

投入

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; 
}, {});