Javascript 将键的对象映射到值数组

Javascript 将键的对象映射到值数组,javascript,ecmascript-6,Javascript,Ecmascript 6,我有一个键对象,如下所示: var x = {a,b} var y = [1,2] 我有这样一个值数组: var x = {a,b} var y = [1,2] 如何在不使用两个数组的情况下,以最优化的方式将关键点映射到这样的对象: { a: 1, b: 2 } 使用Object.keys()迭代x的键。然后使用map()。最后,使用Object.fromEntries()将此数组转换为新对象 var x={a:null,b:null}; 变量y=[1,2]; 结果=Object.f

我有一个键对象,如下所示:

var x = {a,b}
var y = [1,2]
我有这样一个值数组:

var x = {a,b}
var y = [1,2]
如何在不使用两个数组的情况下,以最优化的方式将关键点映射到这样的对象:

{ a: 1, b: 2 }
使用
Object.keys()
迭代
x
的键。然后使用
map()。最后,使用
Object.fromEntries()
将此数组转换为新对象

var x={a:null,b:null};
变量y=[1,2];
结果=Object.fromEntries(Object.keys(x).map((key,i)=>[key,y[i]]);
控制台日志(结果)您需要三个部分:

  • 将键数组和值数组作为新数组
  • 转置此数组以获得具有键/值对的数组
  • 从具有的对中创建对象
  • const
    transpose=array=>array.reduce((r,a)=>a.map((v,i)=>[…(r[i]| |[]),v]),[]),
    x=['a','b'],
    y=[1,2],
    结果=Object.fromEntries(转置([x,y]);
    
    控制台日志(结果)
    您做了什么来保证键的枚举顺序?请参见
    Object.keys()
    Object.fromEntries()
    {a,b}
    等同于
    {a:a,b:b}
    ,但未定义
    a
    b