简体   繁体   English

我如何将一个包含多个对象的对象的数组转换为对象数组

[英]how do i convert array of one object containing many object inside to array of object

I have an array looks like below... 我有一个数组如下所示...

arr = [{
  Bildbearbeiter: 1,
  Bügler: 2,
  Einkäufer: 3,
  Empfänger: 4,
  Fotograf: 5,
}];

but I want to change it 但我想改变它

arr = [{
    Bildbearbeiter: 1
  },
  {
    Bügler: 2
  },
  {
    Einkäufer: 3
  },
  {
    Empfänger: 4
  },
  {
    Fotograf: 5
  }

];

So that i can iterate with each object. 这样我就可以遍历每个对象。 Is there any way to solve it?? 有什么办法解决吗?

Thanks in advance 提前致谢

You can simply use Array.map() and Object.keys() : 您可以简单地使用Array.map()Object.keys()

 let arr = [ { Bildbearbeiter: 1, Bügler: 2, Einkäufer: 3, Empfänger: 4, Fotograf: 5, } ]; let result = Object.keys(arr[0]).map((key)=> ({[key] : arr[0][key]})); console.log(result); 

Use Array.map and Object.entries 使用Array.mapObject.entries

 let arr = [{Bildbearbeiter: 1,Bügler: 2,Einkäufer: 3,Empfänger: 4,Fotograf: 5}]; arr = Object.entries(arr[0]).map(([k,v]) => ({[k]:v})); console.log(arr); 

Try this by clicking on Run code snippet button: 通过单击“ 运行代码片段”按钮来尝试此操作:

 var arr = [{ Bildbearbeiter: 1, Bügler: 2, Einkäufer: 3, Empfänger: 4, Fotograf: 5, }]; var newArray = []; for (let key in arr[0]) { newArray.push({ [key]: arr[0][key] }); } console.log(newArray); 

Or try this: 或尝试以下方法:

 var arr = [{ Bildbearbeiter: 1, Bügler: 2, Einkäufer: 3, Empfänger: 4, Fotograf: 5, }]; var newArray = Object.keys(arr[0]).map(key => ({ [key]: arr[0][key] })) console.log(newArray); 

You could reduce the array by adding all objects to the result set. 您可以通过将所有对象添加到结果集中来减少数组。

 var array = [{ "Bildbearbeiter": 1, "Bügler": 2, "Einkäufer": 3, "Empfänger": 4, "Fotograf": 5 }], result = array.reduce((r, o) => r.concat(Object.entries(o).map(([k, v]) => ({ [k]: v }))), []); console.log(result); 

You can map the array, loop through the keys of each object, and assign a brand new object holding the key and the value of the current item. 您可以map数组,遍历每个对象的keys ,并分配一个包含键和当前项目值的全新对象。

arr.map(i => {
    return Object.keys(i).map(k => {
       return {[k]: i[k]};
    });
});

Working fiddle: http://jsfiddle.net/sw3Lxm7f/ 工作提琴: http : //jsfiddle.net/sw3Lxm7f/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM