[英]How to convert an array with objects that contain value,values to a single object with only key,values?
So after drawing data for the database I ended up with something like所以在为数据库绘制数据后,我最终得到了类似的东西
[
{name: "id", data_type: "integer"}
{name: "name", data_type: "char"}
{name: "active", data_type: "boolean"}
]
but what I want is:但我想要的是:
{id: "integer" , name: "char" , active: "boolean" }
I tried a bunch of things but couldn't figured it out, any helps would be appreciated我尝试了很多东西,但无法弄清楚,任何帮助将不胜感激
This is my desperate attempt:这是我绝望的尝试:
Object.entries(jsonData).map((type) => {
return { ...objectList, [type[1].name]: type[1].data_type };
}).reduce((objectList, object) => (
...objectList,
object)
)
Here is a simple approach:这是一个简单的方法:
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);
If you want to use .reduce
, try this:如果你想使用
.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);
Here is a 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));
another way is using Array.reduce()
另一种方法是使用
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.