我正在尝试使用 javascript 将哈希表中唯一的单个键打印到标签上。
我的代码:-
for (var key in name) {
// write name in the side panel. //
$('div.hidden').append('<p>' + key + '</p>').css("color", "white");
}
这行得通。但是,它会多次打印我的密钥。
谁能告诉我如何改进我的代码,只显示哈希表中的所有键一次。???
我的输出示例:-
A
B
C
D
E
F
G
H
A
B
C
D
E
F
G
H
A
B
C
D
E
F
G
H
所以重复它大约3次。
我的数据结构:-
{
'scholar': [ ],
'contributor': [ ]
and so on.
}
基本上,奖项的名称和他们获得的日期。有些奖项只有一个日期,有些奖项有一个日期列表。
关键是奖项的名称。value 是成就的日期。
为了构建这个,我最初有两个数组,然后我遍历 names 数组并构建最终结果:- 如果最终结果已经包含键,则将相应的日期推到其值上,否则为包含的数组设置一个新键其对应的日期。(创建最终的哈希表)
就像是:
var resultVal = {};
for(var i = 0; i < names.length; ++i) {
if(resultVal[names[i]]) {
resultVal[names[i]].push(dates[i]);
} else {
resultVal[names[i]] = [dates[i]];
}
}