Javascript 从数组中创建值均等于1的对象
假设我有一个数组properties=['foo','bar'] 我想创建一个类似对象的query={foo:1,bar: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
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;