我有一个如下所示的数组...
arr = [{
Bildbearbeiter: 1,
Bügler: 2,
Einkäufer: 3,
Empfänger: 4,
Fotograf: 5,
}];
但我想更改它
arr = [{
Bildbearbeiter: 1
},
{
Bügler: 2
},
{
Einkäufer: 3
},
{
Empfänger: 4
},
{
Fotograf: 5
}
];
这样我就可以遍历每个对象。有什么办法解决吗?
预先感谢
答案 0 :(得分:2)
您可以简单地使用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);
答案 1 :(得分:2)
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);
答案 2 :(得分:1)
通过点击运行代码段按钮进行尝试:
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);
或尝试以下操作:
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);
答案 3 :(得分:1)
您可以通过将所有对象添加到结果集中来减少数组。
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);
答案 4 :(得分:0)
您可以map
数组,遍历每个对象的keys
,并分配一个包含键和当前项目值的全新对象。
arr.map(i => {
return Object.keys(i).map(k => {
return {[k]: i[k]};
});
});
正在工作的小提琴:http://jsfiddle.net/sw3Lxm7f/