Javascript 数组中所有值作为div的文本出现的次数

Javascript 数组中所有值作为div的文本出现的次数,javascript,jquery,Javascript,Jquery,本文档中接受的答案非常优雅地将给定数组中所有值的出现次数记录到控制台。当我试图将其设置为输入值或div文本时,它只给出数组的最后一个值 我想不出来。请原谅我的无礼 $(文档)。在('click','button',function()上{ 类计数器扩展映射{ 构造函数(iter,key=null){ 超级(); this.key=key | |(x=>x); 对于(iter的x){ 本条增补(x); } } 加(x){ x=该键(x); this.set(x,(this.get(x)| | 0

本文档中接受的答案非常优雅地将给定数组中所有值的出现次数记录到控制台。当我试图将其设置为输入值或div文本时,它只给出数组的最后一个值

我想不出来。请原谅我的无礼

$(文档)。在('click','button',function()上{
类计数器扩展映射{
构造函数(iter,key=null){
超级();
this.key=key | |(x=>x);
对于(iter的x){
本条增补(x);
}
}
加(x){
x=该键(x);
this.set(x,(this.get(x)| | 0)+1);
}
}
结果=新计数器([“约翰”、“马克”、“乔治”、“马克”、“约翰”、“乔治”、“约翰”、“乔治”、“乔治”、“比尔”));
for(让[number,times]个results.entries())
$(“div”).text(次+“x”+数字)
});

日志

在每次迭代中,您都覆盖元素的文本,因此只显示最终文本。应将文本存储在变量中,并使用:

$(文档)。在('click','button',函数(){
类计数器扩展映射{
构造函数(iter,key=null){
超级();
this.key=key | |(x=>x);
对于(iter的x){
本条增补(x);
}
}
加(x){
x=该键(x);
this.set(x,(this.get(x)| | 0)+1);
}
}
var res=“”;
结果=新计数器([“约翰”、“马克”、“乔治”、“马克”、“约翰”、“乔治”、“约翰”、“乔治”、“乔治”、“比尔”));
for(让[number,times]个results.entries()){
res+=乘以+“x”+个数;
}
$(“div”)。文本(res);
});

日志

问题在于每次调用时都会覆盖
文本()。将其更改为
append()
(并添加一点样式),代码工作正常。每次我调用append时,它都会添加,有什么方法可以更新它吗?调用
$(“div”)。文本(“”)
前面的
for
循环或只
empty()