首页 > 解决方案 > 如何一次声明多个对象

问题描述

我试过了,但它只将值设置为obj1

let obj1, obj2, obj3, obj4, ..., objn = {} // only obj1 is set, the rest is undefined.

我看了这篇文章:在Javascript中将多个变量分配给相同的值,他们建议这样做:

let obj1 = obj2 = obj3 = obj4 = ... = objn = {}

但是上面说任何变化obj1都会影响obj2,,obj3...

是否可以在没有 for 循环的情况下一次性初始化所有obj内容?{}

标签: javascriptjsonobjectjavascript-objectsdeep-copy

解决方案


使用数组解构赋值,您可以使用 map/reduce 创建对象,但都不会像 for 循环一样快。

let [o1,o2,o3] = Array(3).fill().map(()=>({}))

o1.id = '1'
o2.id = '2'
o3.id = '3'

console.log(o1)
console.log(o2)
console.log(o3)


推荐阅读