我尝试做这个对象
obj={
a:{ 1:"x", 2:"c"},
b:{ 1:"v", 2:"b" },
c:{ 4:"n", 2:"k" }
}
至
obj=[
0:{group:"a" ,1:"x"},
1:{group:"a", 2:"c"},
2:{group:"b",1:"v"},
3:...]
最佳答案
您可以使用Object.entries()
将对象转换为数组。使用 .reduce()
、.concat()
和 map()
构造新数组
let obj = {
a: {
1: "x",
2: "c"
},
b: {
1: "v",
2: "b"
},
c: {
4: "n",
2: "k"
}
}
let result = Object.entries(obj)
.reduce((c, [k, v]) => c.concat(Object.entries(v).map(o => ({group: k,[o[0]]: o[1]}))), [])
console.log(result);
关于javascript - 如何使用 es6 或 lodash 将对象中的对象转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52689653/