Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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
Arrays 如何创建一个数组的组合?_Arrays_Reactjs_Arraylist_Multidimensional Array - Fatal编程技术网

Arrays 如何创建一个数组的组合?

Arrays 如何创建一个数组的组合?,arrays,reactjs,arraylist,multidimensional-array,Arrays,Reactjs,Arraylist,Multidimensional Array,我需要创建一个数组的组合 我有这样的数据,我需要安排图表系列的数据 [ { "movingDuration":10, "parkedDuration":15, }, { "movingDuration":15, "parkedDuration":23, }, { "movingDuration":43,

我需要创建一个数组的组合

我有这样的数据,我需要安排图表系列的数据

[
   {
      "movingDuration":10,
      "parkedDuration":15,
   },
   {
      "movingDuration":15,
      "parkedDuration":23,
   },
   {
      "movingDuration":43,
      "parkedDuration":26,
   },
   {
      "movingDuration":67,
      "parkedDuration":21,
   },
   {
      "movingDuration":47,
      "parkedDuration":54,
   }
]
我期望通过以下方法得到这样的结果

[
   {
      "name":"Moving Duration",
      "data":[
         10,
         15,
         43,
         67,
         47
      ]
   },
   {
      "name":"Parked Duration",
      "data":[
         15,
         23,
         26,
         21,
         54
      ]
   }
]
任何帮助都将不胜感激。谢谢你这有帮助吗

const arr = [
    {
      movingDuration: 10,
      parkedDuration: 15
    },
    {
      movingDuration: 15,
      parkedDuration: 23
    },
    {
      movingDuration: 43,
      parkedDuration: 26
    },
    {
      movingDuration: 67,
      parkedDuration: 21
    },
    {
      movingDuration: 47,
      parkedDuration: 54
    }
  ];

  const resultArray = [{ name: 'Moving Duration', data: [] }, { name: 'Parked Duration', data: [] }];

  arr.forEach((ele) => {
    resultArray[0].data.push(ele.movingDuration);
    resultArray[1].data.push(ele.parkedDuration);
  });

通过数组reduce to group by property key运行数据,然后将其映射到所需的结果对象格式

const formattedData = data.reduce((data, current) => {
  Object.entries(current).forEach(([key, value]) => {
    data[key] = [...(data[key] ?? []), value];
  });
  return data;
}, {});

const finalData = Object.entries(formattedData).map(([name, data]) => ({
  name,
  data
}));
const数据=[
{
移动时间:10分钟,
停车时间:15
},
{
移动时间:15分钟,
停车时间:23
},
{
移动持续时间:43,
停车时间:26
},
{
移动持续时间:67,
停车时间:21
},
{
移动持续时间:47,
停车时间:54
}
];
const formattedData=data.reduce((数据,当前)=>{
Object.entries(当前).forEach(([key,value])=>{
数据[键]=[…(数据[键]??[]),值];
});
返回数据;
}, {});
const finalData=Object.entries(formattedData.map)([name,data])=>({
名称
数据
}));

console.log(finalData)如果有帮助,请告诉我

const origData=[
{
“移动持续时间”:10,
“停车持续时间”:15,
},
{
“移动持续时间”:15,
“停车持续时间”:23,
},
{
“移动持续时间”:43,
“停车持续时间”:26,
},
{
“移动持续时间”:67,
“停车持续时间”:21,
},
{
“移动持续时间”:47,
“停车持续时间”:54,
}
]
const cols=Object.keys(origData[0])
const result=cols.map(项=>{
const data=origData.map(i=>i[item])
返回{name:item,data}
})
console.log(结果)
.as控制台包装{最大高度:100%!重要;顶部:0;}
let数据=[
{
“移动持续时间”:10,
“停车持续时间”:15,
},
{
“移动持续时间”:15,
“停车持续时间”:23,
},
{
“移动持续时间”:43,
“停车持续时间”:26,
},
{
“移动持续时间”:67,
“停车持续时间”:21,
},
{
“移动持续时间”:47,
“停车持续时间”:54,
}
]
设sol={}
data.forEach(d=>{
设keys=Object.keys(d);
if(sol[键[0]]){
sol[keys[0]]=[…sol[keys[0]],d[keys[0]]
sol[keys[1]]=[…sol[keys[1]],d[keys[1]]
}否则{
sol[keys[0]]=[].concat(d[keys[0]])
sol[键[1]]=[].concat(d[键[1]])
}
})
让final=Object.keys(sol.map)(key=>{
设temp={}
临时[“名称”]=键
温度[“数据”]=sol[键]
返回温度
})
console.log(final)
我们可以使用方法创建一个对象,以从对象中获取值:

const result = data.reduce((a, c) => {
    for (const key in c) {
        a[key] = a[key] || {name: key, data: []};
        a[key].data.push(c[key]);
     }
    return a;
}, {})

console.log(Object.values(result));
例如:

let数据=[
{
“移动持续时间”:10,
“停车持续时间”:15,
},
{
“移动持续时间”:15,
“停车持续时间”:23,
},
{
“移动持续时间”:43,
“停车持续时间”:26,
},
{
“移动持续时间”:67,
“停车持续时间”:21,
},
{
“移动持续时间”:47,
“停车持续时间”:54,
}
]
常量结果=数据减少((a,c)=>{
for(c中的常量键){
a[key]=a[key]|{name:key,data:[]};
a[key].data.push(c[key]);
}
返回a;
}, {})

console.log(Object.values(result))工作正常。。。非常感谢。