Zip数组作为对象的键和值

时间:2017-11-27 18:26:27

标签: javascript jquery

我有这个数据

 var foo = ['US','MX','NZ'];
 var foo1 = [12',13',17];


 var Object = {};

我试过这件事

 var Object = {foo:foo1}

但它不起作用 当我使用alert(JSON.stringify(Object))排列对象时;我看到了:

 {"foo":["12","13","17"]}

我想要的就是这样:

var Object = {
  "US":"12",
  "MX":"13",
  "NZ":17
}

有什么方法可以让它看起来像这样吗?

2 个答案:

答案 0 :(得分:3)

您可以使用Object.assign映射单个对象的对象。



var keys = ['US', 'MX', 'NZ'],
    values = ['12', '13', '17'],
    object = Object.assign(...keys.map((k, i) => ({ [k]: values[i] })));

console.log(object);




答案 1 :(得分:0)

const keys = ['name', 'age'];
const vals = ['anna', 20];

keys.reduce((o, e, i) => ((o[e] = vals[i]), o), {});
// {name: 'anna', age: 20}