Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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 尝试将来自API的两个不同数组映射到对象_Javascript_Reactjs - Fatal编程技术网

Javascript 尝试将来自API的两个不同数组映射到对象

Javascript 尝试将来自API的两个不同数组映射到对象,javascript,reactjs,Javascript,Reactjs,我这里的数据来自后端API usage_hours: { devices: ["350kVA GEN", "EKEDC", "85kVA GEN"], hours: [405.946, 646.132, 0] } 我想把它转换成这个特定的数据,这样我就可以在我的react应用程序中渲染它 usage_hours: [ { "device_name": "350kVA GEN"

我这里的数据来自后端API

usage_hours: {
  devices: ["350kVA GEN", "EKEDC", "85kVA GEN"], 
  hours: [405.946, 646.132, 0]
}
我想把它转换成这个特定的数据,这样我就可以在我的react应用程序中渲染它

usage_hours: [
  {
    "device_name": "350kVA GEN",
    "hours": 405.946
  },
  {
    "device_name": "EKEDC",
    "hours": 646.132
  },
  {
    "device_name": "85Kva",
    "hours": 0
  }
]
请问我能用什么方法做这件事?。一个让我接近的解决方案是:

usage_hours.hours.map((element)=>{
  let item = Object.fromEntries(
    data.usage_hours.devices.map((el, index) => [el, element])
  );
  newData.push(item);
})

您可以这样做:

let usage\u hours={
设备:[“350kVA发电机”、“EKEDC”、“85kVA发电机”],
小时:[405.946646.132,0]
}
让result=Object.entries(usage_hours)[0][1].map((项,索引)=>({device_name:item,hours:usage_hours.hours[index]}));

log('Result:',Result)希望对您有所帮助

let usage\u hours={
设备:[“350kVA发电机”、“EKEDC”、“85kVA发电机”],
小时:[405.946646.132,0]
}
设arr=[];
for(让对象项的[键,值](使用时间)){
key=key==“设备”?“设备名称”:key;
对于(设i=0;i控制台日志(arr)这是否回答了您的问题?哇,太谢谢你了。我已经试着修复这个错误将近一个星期了。非常感谢,欢迎光临。考虑一下我的回答,如果它对你有帮助的话。