如何将包含值、值的对象的数组转换为仅包含键、值的单个对象?
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)
所以在为数据库绘制数据后,我得到了类似
的结果[
{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)