对象键集中的传播语法不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象键集中的传播语法不起作用相关的知识,希望对你有一定的参考价值。
我有一个字符串数组,我想把它变成一个对象,每个键都是一个单词。我这样做:
let arr = ['a', 'b', 'c'];
let obj = {};
obj[...arr] = true;
但是,似乎这不起作用:(
有谁知道我做错了什么?
答案
您可以稍微简洁地使用Array.prototype.reduce()
:
const fill = v => (o, k) => ({ ...o, [k]: v })
let arr = ['a', 'b', 'c']
let obj = arr.reduce(fill(true), {})
console.log(obj)
另一答案
你可以使用reduce
函数用真值填充obj
const arr = ['a', 'b', 'c'];
const obj = arr.reduce((acc, val) => {
acc[val] = true;
return acc;
}, {});
console.log(obj);
另一答案
使用forEach
更短。
let arr = ['a', 'b', 'c'];
var obj = {}
arr.forEach(e=>obj[e]=true)
console.log(obj)
以上是关于对象键集中的传播语法不起作用的主要内容,如果未能解决你的问题,请参考以下文章