Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 存储多个ID的最佳技术是什么?_Javascript_Database_String_Memory_Numbers - Fatal编程技术网

Javascript 存储多个ID的最佳技术是什么?

Javascript 存储多个ID的最佳技术是什么?,javascript,database,string,memory,numbers,Javascript,Database,String,Memory,Numbers,我正在用Javascript构建一个实体系统。它基本上是一种利用组件组合世界对象的技术,如“位置”或“精灵”。这些组件只保存数据,它们只有次要的方法 我在一种数据库中实现它,实体只是一个用于访问组件实例的id “数据库”是一个字典,如下所示: { "ComponentType": ComponentInstances } 组件实例的访问方式如下:db[componentType][entityId] 我关心的是什么数据类型对于entityId最有效:字符串或数字?这些类型在Javasc

我正在用Javascript构建一个实体系统。它基本上是一种利用组件组合世界对象的技术,如“位置”或“精灵”。这些组件只保存数据,它们只有次要的方法

我在一种数据库中实现它,实体只是一个用于访问组件实例的id

“数据库”是一个字典,如下所示:

{
    "ComponentType": ComponentInstances
}
组件实例的访问方式如下:
db[componentType][entityId]

我关心的是什么数据类型对于entityId最有效:字符串或数字?这些类型在Javascript中占用了多少内存(我知道它是不同的,但即使是一个估计也会有用)

当然,如果它是一个字符串,那么数据库的实现就像一个字典字典,如果它是一个数字,那么它就是一个数组字典(这并不重要,因为两者都是对象)


编辑:与引用相比,字符串和数字的内存有多大?它们是否更有效?

虽然从概念上讲,数字和字符串在用作键时被视为相同的(在Javascript中,键始终被视为字符串-x[0]和x[“0”]返回相同的值),但最新的实现将对数字键进行特殊处理,并将其存储在连续数组中


因此,如果我是你,我会选择连续的数字索引。

太好了,谢谢。但这是在所有发动机中实现的还是仅在V8中实现的?另外,关于记忆的部分对我也很重要。。。