在javascript中将列表转换为映射

在javascript中将列表转换为映射,javascript,node.js,Javascript,Node.js,我正在寻找优化的解决方案,将列表转换为地图 我有以下几点 var lst = ['a', 1, 'b', 2, 'c', 3, 'd', 4]; 如何将其转换为地图 [{"a"=>1},{"b"=>2},{"c"=>3},{"d"=>4}] 您可以对数组进行切片,在一个包装好的数组中获取一对,然后构建一个对象以推入数组 变量列表=['a',1',b',2',c',3',d',4], 结果=[], i=0; 而ii%2==0&&v.push[x,lst[i+1]],v

我正在寻找优化的解决方案,将列表转换为地图

我有以下几点

var lst = ['a', 1, 'b', 2, 'c', 3, 'd', 4];
如何将其转换为地图

[{"a"=>1},{"b"=>2},{"c"=>3},{"d"=>4}]

您可以对数组进行切片,在一个包装好的数组中获取一对,然后构建一个对象以推入数组

变量列表=['a',1',b',2',c',3',d',4], 结果=[], i=0; 而iconsole.logresult 你可以这样做

let list = ['a', 1, 'b', 2, 'c', 3, 'd', 4];
let myMap = new Map();
let i = 0

while (i < list.length){
  if(i%2 == 0){
    myMap.set(list[i],list[i+1])
  }
  i++;
}

console.log(myMap);

你真的想要一个大小为4的数组,其中每个元素都是一个对象,还是一个hashmap:{a:1,b:2,c:3,d:4}?按照你的%2精神,我们可以作为一个单行:new mapst.reducev,x,i=>i%2==0&&v.push[x,lst[i+1]],v,[]