在我的工作中,我经常需要存储按属性分组的对象,例如如果我有
obj1 = { a: 1, b: 2, c: 3, ... },
obj2 = { a: 2, b: 3, c: 4, ... }
...
然后我需要像
这样的小组obj_by_a = { 1: obj1, 2: obj2, ... }
但通常我不需要所有属性,例如,我可能只需要b
:
obj_by_a = { 1: { b: 2 }, 2: { b: 3 } }
但是,据我所知,如果我设置obj_by_a[1] = obj1
,它实际上不会复制obj1
,而是存储对它的引用。因此,从内存和性能的角度来看,无论如何最好存储整个对象,而不是像obj_by_a[1] = { b: obj1.b }
中那样创建一个新对象。
这是对的吗?