Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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/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
Javascript 如何将包含value、value的对象的数组转换为仅包含key、value的单个对象?_Javascript_Arrays_Ecmascript 6_Reduce - Fatal编程技术网

Javascript 如何将包含value、value的对象的数组转换为仅包含key、value的单个对象?

Javascript 如何将包含value、value的对象的数组转换为仅包含key、value的单个对象?,javascript,arrays,ecmascript-6,reduce,Javascript,Arrays,Ecmascript 6,Reduce,因此,在为数据库绘制数据之后,我最终得到了如下结果 [ {name: "id", data_type: "integer"} {name: "name", data_type: "char"} {name: "active", data_type: "boolean"} ] 但我想要的是: {id: "integer" , name: "char

因此,在为数据库绘制数据之后,我最终得到了如下结果

[
{name: "id", data_type: "integer"}
{name: "name", data_type: "char"}
{name: "active", data_type: "boolean"}
]
但我想要的是:

{id: "integer" , name: "char" , active: "boolean" }
我尝试了很多方法,但都没能解决问题,任何帮助都将不胜感激

这是我绝望的尝试:

Object.entries(jsonData).map((type) => {
        return { ...objectList, [type[1].name]: type[1].data_type };
      }).reduce((objectList, object) => (
          ...objectList,
          object)
        )

以下是一个简单的方法:

让arr=[
{name:“id”,数据类型:“integer”},
{name:“name”,数据类型:“char”},
{name:“active”,数据类型:“boolean”}
];
设map={};
arr.forEach(e=>map[e.name]=e.data\u类型);

控制台日志(map)以下是一个简单的方法:

让arr=[
{name:“id”,数据类型:“integer”},
{name:“name”,数据类型:“char”},
{name:“active”,数据类型:“boolean”}
];
设map={};
arr.forEach(e=>map[e.name]=e.data\u类型);
控制台日志(map)这里是一个reduce

const数据=[
{name:“id”,数据类型:“integer”},
{name:“name”,数据类型:“char”},
{name:“active”,数据类型:“boolean”}
];
常量arrayToObject=arr=>arr.reduce((结果,值)=>{
结果[value.name]=value.data\u类型;
返回结果;
}, {});
log(arrayToObject(数据))这里是一个reduce

const数据=[
{name:“id”,数据类型:“integer”},
{name:“name”,数据类型:“char”},
{name:“active”,数据类型:“boolean”}
];
常量arrayToObject=arr=>arr.reduce((结果,值)=>{
结果[value.name]=value.data\u类型;
返回结果;
}, {});

log(arrayToObject(数据))另一种方法是使用
Array.reduce()

const数组=[
{name:'id',data_type:'integer'},
{name:'name',数据类型:'char'},
{name:'active',data_type:'boolean'},
];
const newObject=array.reduce((finalObj,obj)=>{
finalObj[obj.name]=obj.data\u类型;
返回finalObj;
}, {})
console.log(newObject)

另一种方法是使用
Array.reduce()

const数组=[
{name:'id',data_type:'integer'},
{name:'name',数据类型:'char'},
{name:'active',data_type:'boolean'},
];
const newObject=array.reduce((finalObj,obj)=>{
finalObj[obj.name]=obj.data\u类型;
返回finalObj;
}, {})
console.log(newObject)

谢谢!.reduce为我返回了一个bug,但.forEach的工作方式令人惊讶!非常感谢。.reduce为我返回了一个bug,但.forEach的工作方式令人惊讶!