2

在 javascript 中,我有一个键值对的哈希映射,例如:

"team", "aemt"
"meat", "aemt"
"car", "acr"

我想用字符串的长度存储所有匹配的值,如下所示:

{4, {"team","meat"}}
{3, {"car"}

我将如何做到这一点?

4

1 回答 1

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] ];
}
于 2013-10-03T02:07:48.643 回答