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
。