Javascript 存储多个ID的最佳技术是什么?
我正在用Javascript构建一个实体系统。它基本上是一种利用组件组合世界对象的技术,如“位置”或“精灵”。这些组件只保存数据,它们只有次要的方法 我在一种数据库中实现它,实体只是一个用于访问组件实例的id “数据库”是一个字典,如下所示:Javascript 存储多个ID的最佳技术是什么?,javascript,database,string,memory,numbers,Javascript,Database,String,Memory,Numbers,我正在用Javascript构建一个实体系统。它基本上是一种利用组件组合世界对象的技术,如“位置”或“精灵”。这些组件只保存数据,它们只有次要的方法 我在一种数据库中实现它,实体只是一个用于访问组件实例的id “数据库”是一个字典,如下所示: { "ComponentType": ComponentInstances } 组件实例的访问方式如下:db[componentType][entityId] 我关心的是什么数据类型对于entityId最有效:字符串或数字?这些类型在Javasc
{
"ComponentType": ComponentInstances
}
组件实例的访问方式如下:db[componentType][entityId]
我关心的是什么数据类型对于entityId最有效:字符串或数字?这些类型在Javascript中占用了多少内存(我知道它是不同的,但即使是一个估计也会有用)
当然,如果它是一个字符串,那么数据库的实现就像一个字典字典,如果它是一个数字,那么它就是一个数组字典(这并不重要,因为两者都是对象)
编辑:与引用相比,字符串和数字的内存有多大?它们是否更有效?虽然从概念上讲,数字和字符串在用作键时被视为相同的(在Javascript中,键始终被视为字符串-x[0]和x[“0”]返回相同的值),但最新的实现将对数字键进行特殊处理,并将其存储在连续数组中
因此,如果我是你,我会选择连续的数字索引。太好了,谢谢。但这是在所有发动机中实现的还是仅在V8中实现的?另外,关于记忆的部分对我也很重要。。。