如何将数组转换为对象?

时间:2018-06-29 19:47:57

标签: javascript

我有一些像数组一样的数据,我会告诉你它的样子

Vm.table=[{
 Name:"amina";
},
{
 Prenom:"adfe";
},
 {
  Region:"rabat";
 }];

对于类似对象

Vm.obj={
    Name:"amina",
    Prenom:"adfe",
    Region:"rabat"
  };

我需要设置一个代码,可以将表转换为该对象,我放置了很多功能,但是如果有人可以提供帮助,则对我不起作用。

3 个答案:

答案 0 :(得分:3)

您可以使用Object.assign()spread运算符

const table=[{Name:"amina"},{Prenom:"adfe"},{Region:"rabat"}];
 
 const result = Object.assign({}, ...table);
 console.log(result);

答案 1 :(得分:2)

您可以使用reduce

Vm.obj = Vm.table.reduce((obj, col) => {
    Object.keys(col).forEach(k => obj[k] = col[k])
    return obj;
}, {});

当然,如果您有重复的键,它将使用最后一个可用的键/值对。

答案 2 :(得分:1)

使用Array.prototype.reduce,我吓到了对象只有一个键,值对。

let array =[{
 Name:"amina"
},
{
 Prenom:"adfe"
},
 {
  Region:"rabat"
 }];
 
 let obj = array.reduce((prev, curr) => {
    const key = Object.keys(curr)[0];
    prev[key] = curr[key];
    return prev;
 }, {});
 
 console.log(obj);