转换的最佳方式是什么:
a = ['USD', 'EUR', 'INR']
到
a = {'USD': 0, 'EUR': 0, 'INR': 0};
*将数组元素作为对象的键操作,其值最初为0。
答案 0 :(得分:10)
使用Array#reduce
方法缩减为单个对象。
a = ['USD', 'EUR', 'INR'];
console.log(
a.reduce(function(obj, v) {
obj[v] = 0;
return obj;
}, {})
)

甚至简单的循环也没问题。
var a = ['USD', 'EUR', 'INR'];
var res = {};
for (var i = 0; i < a.length; i++)
res[a[i]] = 0;
console.log(res);
&#13;
答案 1 :(得分:6)
您可以将Object.assign
与Array#map
和spread syntax ...
var array = ['USD', 'EUR', 'INR'],
object = Object.assign(...array.map(k => ({ [k]: 0 })));
console.log(object);
&#13;
答案 2 :(得分:2)
您可以使用Array.map和Object.assign
var a = ['USD', 'EUR', 'INR']
var result = Object.assign.apply(null, a.map(x =>({[x]:0})));
console.log(result)
&#13;
答案 3 :(得分:2)
使用Map
构造函数:
new Map(a.map(x => [x, 0]))