使用区域设置敏感字符串作为数据结构键的有效方法
Efficient way to use locale sensitive strings as keys to a data structure
使用区域设置敏感字符串对数据结构进行键控的最有效方法是什么。
我基本上想要一个排序的 TreeMap,其排序比较算法为 a.localeCompare(b, locale, { sensitivity: 'base' })
。
理想的方法是使用某种 normalize/conversion 这样 a.convert() === b.convert()
对于所有 a
和 b
其中 a.localeCompare(b, ...)
returns 0. 然后我可以使用该转换的结果作为 hashMap 的键,例如 javascript 对象或 Map.
或者是否有一个已知的排序 TreeMap,我可以在其中指定键的比较?
我使用 npm parameterize 库创建了一个不区分语言环境的密钥。提供的函数采用 utf-8 字符串并将其转换为相对可读的小写字符串。这然后可以用于散列图中的散列码。所以 'Résumé' 和 'resume' 都会映射到 hashmap 中的相同项目。
使用区域设置敏感字符串对数据结构进行键控的最有效方法是什么。
我基本上想要一个排序的 TreeMap,其排序比较算法为 a.localeCompare(b, locale, { sensitivity: 'base' })
。
理想的方法是使用某种 normalize/conversion 这样 a.convert() === b.convert()
对于所有 a
和 b
其中 a.localeCompare(b, ...)
returns 0. 然后我可以使用该转换的结果作为 hashMap 的键,例如 javascript 对象或 Map.
或者是否有一个已知的排序 TreeMap,我可以在其中指定键的比较?
我使用 npm parameterize 库创建了一个不区分语言环境的密钥。提供的函数采用 utf-8 字符串并将其转换为相对可读的小写字符串。这然后可以用于散列图中的散列码。所以 'Résumé' 和 'resume' 都会映射到 hashmap 中的相同项目。