所以,基本上我是在尝试创建一个对象,比如
{
'1': 0,
'2': 0,
'3': 0,
.....
'9': 0
}有什么"javaScriptic“技巧可以做到这一点吗?
发布于 2021-02-06 17:14:38
您可以使用new Array(10)创建一个包含10个项的数组,用0填充它,然后将其扩展到一个对象。
注意:使用此方法,第一个键将是0,而不是1。
const obj = { ...new Array(10).fill(0) }
console.log(obj)
要获取以1开头的对象,可以使用带rest的解构(...)来获取具有除0以外的所有属性的对象:
const { 0: _, ...obj } = { ...new Array(10).fill(0) }
console.log(obj)
发布于 2021-02-06 17:19:38
你可以带上Object.fromEntries。
const result = Object.fromEntries(Array.from({ length: 10 }, (_, i) => [i + 1, 0]));
console.log(result);
发布于 2021-02-06 17:16:51
您可以像这样编写一行代码
因为您希望键从1开始,所以初始化一个大小为9的数组,并将该值映射为按1递增的索引。在此基础上,以空对象的开头执行reduce,以获得预期的输出
const res = Array
.from({ length: 9 }, (_, index) => index + 1)
.reduce((acc, el) => ({ ...acc, [el]: 0 }), {})
console.log(res)
https://stackoverflow.com/questions/66075228
复制相似问题