Javascript 如何从JS中n个数组的n个属性生成对象数组?

Javascript 如何从JS中n个数组的n个属性生成对象数组?,javascript,Javascript,我有两个这样的阵列: const optiones=['A','B','C','D']; const valoracion=[真,假,假,假]; 我想从这两个数组中创建一个新的对象数组,如下所示: const respuestas=[ {opc:'A',val:true}, {opc'B',val:false}, {opc:'C',val:false}, {opc'D',val:false}, ] 出于明显的原因,这通常被称为“Zip”操作,在javascript中使用map非常容易 con

我有两个这样的阵列:

const optiones=['A','B','C','D'];
const valoracion=[真,假,假,假];
我想从这两个数组中创建一个新的对象数组,如下所示:

const respuestas=[
{opc:'A',val:true},
{opc'B',val:false},
{opc:'C',val:false},
{opc'D',val:false},
]
出于明显的原因,这通常被称为“Zip”操作,在javascript中使用
map
非常容易

const optiones=['A','B','C','D'];
const valoracion=[真,假,假,假];
var result=opciones.map((v,i)=>({opc:v,val:valoracion[i]}));

控制台日志(结果)您可以使用映射功能将第一个数组转换为对象数组:

const result = opciones.map((item, index) => ({
  opc: item,
  val: valoracion[index]
}));

您可以对具有所需键和值的对象采取动态方法,并减少对象的条目

const
opc=['A','B','C','D'],
val=[true,false,false,false],
结果=对象
.entries({opc,val})
.reduce((r[k,a])=>a.map((v,i)=>Object.assign(r[i]|{},{[k]:v})),[]);

控制台日志(结果)一个简单的
for
循环可以做到这一点,你可以在谷歌上找到这方面的简单教程,很可能还有很多其他已经在SO中回答过的问题。请阅读,如果你尝试了一些东西,但没有达到你的目标,那么返回一个具体的问题