计算数组中的重复项目
Tally Up Repeated Items in Array
我有以下JavaScript数组:
var President = new Array();
President[0]="Thomas Jefferson";
President[1]="Thomas Jefferson";
President[2]="Thomas Jefferson";
President[3]="Thomas Jefferson";
President[4]="Thomas Jefferson";
President[5]="Thomas Jefferson";
President[6]="Thomas Jefferson";
President[7]="Thomas Jefferson";
President[8]="Thomas Jefferson";
President[9]="Thomas Jefferson";
President[10]="Thomas Jefferson";
President[11]="Thomas Jefferson";
President[12]="Thomas Jefferson";
President[13]="James Madison";
President[14]="James Madison";
President[15]="James Madison";
President[16]="James Madison";
President[17]="James Madison";
President[18]="James Madison";
President[19]="James Madison";
President[20]="Abraham Lincoln";
President[21]="Abraham Lincoln";
President[22]="Abraham Lincoln";
President[23]="Abraham Lincoln";
President[24]="Abraham Lincoln";
President[25]="George Washington";
如何统计重复的项目,以便输出如下:
Thomas Jefferson: 13
James Madison: 7
Abraham Lincoln: 5
George Washington: 1
感谢您的帮助!
@Tyson : 数组不应使用 for. in 遍历。
for (var stats = {}, potus, i = President.length; i--;) {
if (!((potus = President[i]) in stats)
stats[potus] = 0; // Initialize a new counter
stats[potus]++;
}
// Now stats['Thomas Jefferson'] will be 13 etc.
我不是 JavaScript 开发人员,但根据这篇关于 js 哈希表的文章,看起来你想要如下的东西:
var h = new Object();
for (var p in President) {
if (h.hasItem(p)) {
h.setItem(p, h.getItem(p) + 1);
}
else {
h.setItem(p, 1);
}
}
for (var p in h)
{
document.write(p);
document.write(":");
document.write(h.getItem(p));
document.write("<br />");
}
相关文章:
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 按不同项目对对象数组进行排序
- 使用JavaScript或jQuery检查单选按钮选择是否与数组中的项目匹配
- JS:从整个数组中每次得到5个项目,并得到平均值
- 使用圆中的数组更改背景颜色项目
- 编辑CSV数组中的项目-快速CSV node.js
- 我可以限制我添加到数组中的项目数量吗
- 使用javascript/jquery从现有数组中创建一个新数组,该数组保存项目存在的次数
- 什么's JavaScript数组中项目的作用域
- 将项目放入数组中
- 使用 id 和 Javascript 从数组中删除项目
- (角度.js)如何通过过滤器计算数组中有多少项目
- 如何通过迭代对象数组来删除某些项目
- Lodash 从与值数组不匹配的数组中获取项目
- 发布要形成的 n 个项目的数组
- 查找数组中项目包含子字符串的索引
- 使用节点在 JSON 数组中搜索项目(最好不迭代)
- Javascript:从数组中删除包含带有侦听器的对象的项目的最佳方法
- 更新挖空中可观察数组中项目的属性
- JavaScript:如何在 for 循环期间跳过数组中的当前项目?(继续?