我想知道将Js中的数组转换为object的最佳方法。
这是我想要做的样本。 输入=> [' abc',' def']; 输出=> {abc:true,def:true}
我使用下面的代码完成了它。但只是想知道是否
**function toObject(strings) {
var rv = {}
strings.forEach(string => {
rv[string] = true
})
return rv
}**
此功能用于此目的。但是,任何专家都能以最好,最有效的方式开展工作。
答案 0 :(得分:2)
不确定最好和最有效的方式是什么意思,因为根据我的好,这是一个不那么精简的版本
var output = strings.reduce( (a,c) => (a[c]=true, a), {})
<强>演示强>
var strings = ['abc', 'def'];
var output = strings.reduce( (a,c) => (a[c]=true, a), {});
console.log(output);
答案 1 :(得分:1)
您可以映射单个对象并将其分配给同一个对象。
var array = ['abc', 'def'],
object = Object.assign(...array.map(key => ({ [key]: true })));
console.log(object);