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你应该自己尝试一下,看看你得到了什么@奥利维耶·布瓦塞:不用担心。我现在正在修理一个被滥用的标签,正如你所看到的。“奥利维博斯席你应该亲自尝试一下,找出你得到了什么;奥利维耶·布瓦塞:不用担心。我现在正在修理一个被滥用的标签,正如你所看到的。