Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
透视/转换Javascript对象数组_Javascript_Reactjs_Ecmascript 6_Pivot_Javascript Objects - Fatal编程技术网

透视/转换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语法。抱歉,编辑了我的问题!