在javascript中,我有一个键值对的哈希映射,如:
"team", "aemt"
"meat", "aemt"
"car", "acr"
我希望将所有匹配值与字符串的长度一起存储,如下所示:
{4, {"team","meat"}}
{3, {"car"}
我将如何做到这一点?
答案 0 :(得分:2)
不需要按长度划分集合,散列算法应该能够自己处理。只有你要按照长度对单词进行排序才是可取的。
在哈希表中为每个键存储多个值
你做不到。但是,您可以为每个键存储一个字符串数组。
var words = ["team", "meat", "car"],
map = {};
for (var i=0; i<words.length; i++) {
var key = words[i].toLowercase().split('').sort().join('');
if (key in map)
map[key].push(words[i]);
else
map[key] = [ words[i] ];
}