首页 > 解决方案 > 计算大量数据

问题描述

因此,我在 Node.js 中运行了两个脚本。

脚本 A 输出 >= 40 且 <= 320 的整数。

脚本 B 运行脚本 A 数百万次,需要计算每个数字出现的次数。

这样做的最佳方法是什么?必须有比一直输入let number40 = 0; let number 41 = 0;到 320 更好的解决方案。

标签: javascriptnode.jscounting

解决方案


让一个map-enum-like对象根据它们的出现来保持keynumber增加它们的价值怎么样?

let obj = {};
let numbers = [50, 55, 120, 300, 150, 50, 300, 50];

numbers.forEach(function(num) {
  obj[num] ? ++obj[num] : (obj[num] = 1);
});

console.log(obj);

使用Map

let myMap = new Map();
let numbers = [50, 55, 120, 300, 150, 50, 300, 50];

numbers.forEach(function(num) {
  let val = myMap.get(num) || 0;
  myMap.set(num, ++val);
});
console.log(myMap);//check browsers console to check the value.


推荐阅读