我有一个使用数百个文本标签来描述对象的应用程序。
到目前为止,我只是在对象实例中使用字符串数组来存储标签。
但是我现在需要使用分层树结构中的标签-例如:
tags
+-- TagA
+-- TagB
+-- TagBA
+-- TagBAA
+-- TagBAB
+-- TagBAC
+-- TagBAD
因此,如果我将一个实例标记为TagBAC
,则也可以推断出TagBA
和TagB
。
这让我想到,我可以使用位标志和按位操作的pheraps:
tags
+-- TagA
+-- TagB
+-- TagBA 15 (sum of flags below)
+-- TagBAA 1
+-- TagBAB 2
+-- TagBAC 4
+-- TagBAD 8
从概念上讲,这会很好地工作(而且我认为它会非常快地执行),但是我的应用程序使用了太多标记,无法容纳javascript的32位数字范围。
我可以做些什么来使用类似的方法,这种方法没有那么小的边界,但仍然表现良好?我正在寻找一种针对执行速度进行了优化的方法。