Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象键集中的扩展语法不起作用_Javascript_Object_Key_Spread Syntax - Fatal编程技术网

Javascript 对象键集中的扩展语法不起作用

Javascript 对象键集中的扩展语法不起作用,javascript,object,key,spread-syntax,Javascript,Object,Key,Spread Syntax,我有一个字符串数组,我想把它变成一个对象,其中每个键都是一个单词。我正在这样做: let arr = ['a', 'b', 'c']; let obj = {}; obj[...arr] = true; 然而,这似乎不起作用: 有人知道我做错了什么吗?使用forEach比较短 设arr=['a','b','c']; var obj={} arr.forEache=>obj[e]=true console.logobj使用forEach更短 设arr=['a','b','c']; var o

我有一个字符串数组,我想把它变成一个对象,其中每个键都是一个单词。我正在这样做:

let arr = ['a', 'b', 'c'];
let obj = {};
obj[...arr] = true;
然而,这似乎不起作用:

有人知道我做错了什么吗?

使用forEach比较短

设arr=['a','b','c']; var obj={} arr.forEache=>obj[e]=true console.logobj使用forEach更短

设arr=['a','b','c']; var obj={} arr.forEache=>obj[e]=true console.logobj您可以使用reduce函数用真值填充obj

常数arr=['a','b','c']; const obj=arr.reduceac,val=>{ acc[val]=真; 返回acc; }, {}; console.logobj 您可以使用reduce函数用真值填充obj

常数arr=['a','b','c']; const obj=arr.reduceac,val=>{ acc[val]=真; 返回acc; }, {}; console.logobj 您可以使用更简洁的方式:

常数fill=v=>o,k=>{…o[k]:v} 设arr=['a','b','c'] 设obj=arr.reducefilltrue,{} console.logobj您可以使用更简洁的方式:

常数fill=v=>o,k=>{…o[k]:v} 设arr=['a','b','c'] 设obj=arr.reducefilltrue,{}
console.logobjWell语法中没有规定要执行的操作。此外,spread不是运营商;这是一个语法约定。它不是表达式语法的一部分,而表达式语法正是运算符的所在。我想我只需要在循环中执行它?我不知道其他方法可以做到这一点。也许有些聪明的人会这么做。我可能会使用reduceWell。语法中没有任何规定来执行您试图执行的操作。此外,spread不是运营商;这是一个语法约定。它不是表达式语法的一部分,而表达式语法正是运算符的所在。我想我只需要在循环中执行它?我不知道其他方法可以做到这一点。也许有些聪明的人会,但我可以用reduce@OlivierBoiss你应该自己尝试一下,看看你得到了什么@奥利维耶·布瓦塞:不用担心。我现在正在修理一个被滥用的标签,正如你所看到的。“奥利维博斯席你应该亲自尝试一下,找出你得到了什么;奥利维耶·布瓦塞:不用担心。我现在正在修理一个被滥用的标签,正如你所看到的。