如何将包含值、值的对象的数组转换为仅包含键、值的单个对象?

How to convert an array with objects that contain value,values to a single object with only key,values?

所以在为数据库绘制数据后,我得到了类似

的结果
[
{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)
        )

这是一个简单的方法:

let arr = [
{name: "id", data_type: "integer"},
{name: "name", data_type: "char"},
{name: "active", data_type: "boolean"}
];
let map = {};
arr.forEach(e => map[e.name]=e.data_type);
console.log(map);

如果你想使用 .reduce,试试这个:

let arr = [
{name: "id", data_type: "integer"},
{name: "name", data_type: "char"},
{name: "active", data_type: "boolean"}
];
let map = arr.reduce(function(obj,item){
  obj[item.name] = item.data_type; 
  return obj;
}, {});
console.log(map);

这是一个reduce

const data = [
{name: "id", data_type: "integer"},
{name: "name", data_type: "char"},
{name: "active", data_type: "boolean"}
];

const arrayToObject = arr => arr.reduce((result, value) => {
  result[value.name] = value.data_type;
  return result;
}, {});

console.log(arrayToObject(data));

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

const array = [
  { name: 'id', data_type: 'integer' },
  { name: 'name', data_type: 'char' },
  { name: 'active', data_type: 'boolean' },
];

const newObject = array.reduce((finalObj, obj) => {
  finalObj[obj.name] = obj.data_type;
  return finalObj;
}, {})

console.log(newObject)