Javascript 从数组中创建值均等于1的对象

Javascript 从数组中创建值均等于1的对象,javascript,Javascript,假设我有一个数组properties=['foo','bar'] 我想创建一个类似对象的query={foo:1,bar:1} 目前我正在做 const query = {}; for (let property of properties) { query[property] = 1; } 有没有更简单的方法?谢谢 是的,使用reduce,但我不确定它是否更简单!: 变量属性=['foo','bar'] var query=properties.reduce acc

假设我有一个数组properties=['foo','bar']

我想创建一个类似对象的query={foo:1,bar:1}

目前我正在做

 const query = {};
  
  for (let property of properties) {
    query[property] = 1;
  }
有没有更简单的方法?谢谢

是的,使用reduce,但我不确定它是否更简单!:

变量属性=['foo','bar'] var query=properties.reduce acc,prop=>{ acc[prop]=1; 返回acc },{}; console.logquery 你们可以使用这个方法。使用方法遍历数组以生成键值对数组,最后使用Object.fromEntries方法将其转换为所需的对象。 常量属性=['foo','bar']; const query=Object.fromEntriesproperties.mapx=>[x,1]; console.logquery 您可以使用配对地图:

const query=Object.fromEntriesproperties.mapproperty=>[property,1]; 或者按照@Jamiec的建议使用reduce,但我不确定这些解决方案是否比简单的循环更清晰,至少它们很聪明:p.

仅用于记录:

另一种方法是使用reduce并通过将对象从前一个循环中展开来返回新对象

常数 属性=['foo','bar'], result=properties.reduceobject,key=>{…object[key]:1},{}; console.logresult;