[英]Disadvantages to flattening object?
我有一些数据很适合嵌套的分类结构。 最初,我使用嵌套映射来表示它,但我想也许只使用由包含每个类别关键字的元组索引的平面结构会更节省空间。
例如,假设我有数据狗,猫,树,黄金,白银首先,我具有以下结构,其中箭头表示地图中的键值对
animal -> {barks -> "dog"
purrs -> "cat"}
plant -> {rooted -> "tree"}
mineral -> {golden -> "gold"
silvery -> "silver"}
但是现在,我在想为什么不只是拥有
['animal','barks'] -> 'dog'
['animal', 'purrs'] -> 'cat'
['plant', 'rooted'] -> 'tree'
['mineral','golden'] -> 'gold
['mineral', 'silvery'] -> 'silver'
都在同一个平面物体中?
是否有任何性能,风格或其他缺点?
我可以想到的是,在此示例中,获取所有矿物质或所有动物都比较困难-我必须对所有键进行线性搜索以收集它们。 还有别的事吗?
好吧,首先,在广泛支持ES6之前,您将无法使用数组作为对象键,因此,您将必须包括其他一些间接级别来正确存储事物,例如:
{
'animal~barks': 'dog',
'animal~purrs': 'cat',
...
}
这确实使编码变得更加困难。
您还可能会通过重复(例如“动物”)来增加内存消耗(大概是大型集合)。
因此,我认为对此有几项打击。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.