Javascript 如何使用来自无循环的键数组的键创建对象?

Javascript 如何使用来自无循环的键数组的键创建对象?,javascript,arrays,Javascript,Arrays,有一个数组,它的项应该是对象的键。 例如: ['key1', 'key2', 'key3'] 这是我的数组。我需要像这样的物体: { 'key1': '', 'key2': '', 'key3': '' } 可能是这样,数组中的项不喜欢使用循环。 如何创建没有循环的对象?这也是一个循环,但至少是一行: const res=['key1','key2','key3']].reduce((a,c)=>(a[c]='',a),{}); console.log(res)我不知道您为什么

有一个数组,它的项应该是对象的键。 例如:

['key1', 'key2', 'key3']
这是我的数组。我需要像这样的物体:

{
  'key1': '',
  'key2': '',
  'key3': ''
}
可能是这样,数组中的项不喜欢使用循环。
如何创建没有循环的对象?

这也是一个循环,但至少是一行:

const res=['key1','key2','key3']].reduce((a,c)=>(a[c]='',a),{});

console.log(res)
我不知道您为什么反对使用循环。如果您需要动态创建对象,那么不使用某种循环是不会成功的

从技术上讲,此解决方案不直接使用循环。。。但这是一个愚蠢的解决方案,我不推荐它

constkeys=['key1','key2','key3'];
const res=Object.fromEntries(
JSON.parse(
JSON.stringify(keys.replace(/“([^“]+)”/g,[“$1”,“”“]))
)
);

console.log(res);
所说的“无循环”是指“无
for
循环”还是“无任何形式的数组循环”“?任何类型的循环。不是为了。这需要时间,这是不可能的。javascript中没有像python的
dict.fromkeys
那样的内置函数。你最好的选择是
Object.fromEntries(keys.map(k=>[k',])
,但这也是一个循环就是这样。
replace
方法循环不是也通过字符串吗?@ikhvjs取决于循环的定义。在内部,是的,有一个循环。但是在代码本身中没有实际的循环,尽管它是一个循环,但它比其他循环工作得更好。