Javascript 将数组转换为具有默认值的对象的更简洁的方法?(可提供Lodash)

Javascript 将数组转换为具有默认值的对象的更简洁的方法?(可提供Lodash),javascript,arrays,Javascript,Arrays,我有一个数组,比如说[“a”,“b”,“c”],我想把它变成一个对象,数组值作为键,我可以设置一个默认值。因此,如果默认值是true,我希望我的输出是{a:true,b:true,c:true} 下面的代码是否有更简洁的版本来实现这一点 var myObject = {}; ["a","b","c"].forEach(x => myObject[x] = true); 我觉得有一种简洁的Lodash或ES6方法可以做到这一点,但我想不出它。标准和 var数组=[“a”、“b”、“c”]

我有一个数组,比如说
[“a”,“b”,“c”]
,我想把它变成一个对象,数组值作为键,我可以设置一个默认值。因此,如果默认值是
true
,我希望我的输出是
{a:true,b:true,c:true}

下面的代码是否有更简洁的版本来实现这一点

var myObject = {};
["a","b","c"].forEach(x => myObject[x] = true);
我觉得有一种简洁的Lodash或ES6方法可以做到这一点,但我想不出它。

标准和

var数组=[“a”、“b”、“c”],
object=object.assign(…array.map(k=>({[k]:true}));
console.log(对象)
可以说,它并不比您的版本更简洁。

您可以使用键数组,第二个数组可以使用默认值:

const key=[“a”、“b”、“c”];
const object=u.zipObject(键,[…键].fill(true));
console.log(对象)

[“a”、“b”、“c”].reduce((a,v)=>(a[v]=true)和&a,{})
简明
是主观的,虽然看到不同的方法很有趣(我确实喜欢上面的reduce),我个人认为,询问
是否有更简洁的代码版本
应该关闭,因为主要基于意见
许多好的问题都会根据专家经验产生一定程度的意见,但对这个问题的回答往往几乎完全基于意见,而不是事实、参考资料,或特定专业知识。
只需在函数中定义内容并将其放入模块中即可。。然后<代码>从“/arrayToObject.js”中将arrayToObject作为$导入
$([“a”、“b”、“c”],true)不能短于此…@不公平,它可能是代码审查StackExchange的更好内容。Keith:这是一个很好的一行,谢谢。旁注:我们可以使用
对象。赋值({},[“a”,“b”,“c”])
得到这样的结果:
{0:“a”,1:“b”,2:“c”}
我的问题可能被正确地标记为主观,但我不知道你为什么要坐在-1分上!谢谢你的意见。
var myarray = ["a", "b", "c"];

var result = myarray.reduce((obj, item) => {
    obj[item] = true;
    return obj;
}, {});