透视/转换Javascript对象数组
我需要帮忙。 我有以下对象数组:透视/转换Javascript对象数组,javascript,reactjs,ecmascript-6,pivot,javascript-objects,Javascript,Reactjs,Ecmascript 6,Pivot,Javascript Objects,我需要帮忙。 我有以下对象数组: [ { name: "A", id: "q1", history: { "1:2:3": {a: 0, b: 0, c: 0}, "4:5:6": {a: 1, b: 1, c: 1}, "7:8:9": {a: 2, b: 2, c: 2} } }, { name: "B", id: "q2", history: { "1:2:
[
{
name: "A",
id: "q1",
history: {
"1:2:3": {a: 0, b: 0, c: 0},
"4:5:6": {a: 1, b: 1, c: 1},
"7:8:9": {a: 2, b: 2, c: 2}
}
},
{
name: "B",
id: "q2",
history: {
"1:2:3": {a: 3, b: 3, c: 3},
"4:5:6": {a: 4, b: 4, c: 4},
"7:8:9": {a: 5, b: 5, c: 5}
}
},
{
name: "C",
id: "q3",
history: {
"1:2:3": {a: 6, b: 6, c: 6},
"4:5:6": {a: 7, b: 7, c: 7},
"7:8:9": {a: 8, b: 8, c: 8}
}
}
]
我想得到以下结果:
{
"1:2:3": {
"q1": {a: 0, b: 0, c: 0},
"q2": {a: 3, b: 3, c: 3},
"q3": {a: 6, b: 6, c: 6}
},
"4:5:6": {
"q1": {a: 1, b: 1, c: 1},
"q2": {a: 4, b: 4, c: 4},
"q3": {a: 7, b: 7, c: 7}
},
"7:8:9": {
"q1": {a: 2, b: 2, c: 2},
"q2": {a: 5, b: 5, c: 5},
"q3": {a: 8, b: 8, c: 8}
}
}
我希望结果是一个有1:2:3,4:5:6,7:8:9键的对象
请给我一些解决方案好吗?谢谢 这是一个很好的例子,说明如何使用 常数数据=[{ 姓名:A,, id:q1, 历史:{ 1:2:3: { 答:0,, b:0, c:0 }, 4:5:6: { 答:1,, b:1, c:1 }, 7:8:9: { 答:2,, b:2, c:2 } } }, { 姓名:B,, id:q2, 历史:{ 1:2:3: { a:3, b:3, c:3 }, 4:5:6: { a:4, b:4, c:4 }, 7:8:9: { a:5, b:5, c:5 } } }, { 姓名:C,, id:q3, 历史:{ 1:2:3: { a:6, b:6, c:6 }, 4:5:6: { a:7, b:7, c:7 }, 7:8:9: { a:8, b:8, c:8 } } } ] const result=data.reduceac,item=>{ const keys=Object.keysitem.history; 让钥匙中的钥匙{ acc[键]={ …acc[键]|{}, [项目id]:项目历史记录[键] } } 返回acc; }, {}
console.logresult 这是一个很好的例子,说明了一个人如何使用 常数数据=[{ 姓名:A,, id:q1, 历史:{ 1:2:3: { 答:0,, b:0, c:0 }, 4:5:6: { 答:1,, b:1, c:1 }, 7:8:9: { 答:2,, b:2, c:2 } } }, { 姓名:B,, id:q2, 历史:{ 1:2:3: { a:3, b:3, c:3 }, 4:5:6: { a:4, b:4, c:4 }, 7:8:9: { a:5, b:5, c:5 } } }, { 姓名:C,, id:q3, 历史:{ 1:2:3: { a:6, b:6, c:6 }, 4:5:6: { a:7, b:7, c:7 }, 7:8:9: { a:8, b:8, c:8 } } } ] const result=data.reduceac,item=>{ const keys=Object.keysitem.history; 让钥匙中的钥匙{ acc[键]={ …acc[键]|{}, [项目id]:项目历史记录[键] } } 返回acc; }, {}
console.logresult;1:2:3:4:5:6和7:8:9是什么?这不是有效的Javascript语法。抱歉,编辑了我的问题!1:2:3:4:5:6和7:8:9是什么?这不是有效的Javascript语法。抱歉,编辑了我的问题!