统计大量数据
Counting a Large Amount of Data
所以,我在 Node.js 中有两个脚本 运行。
脚本 A 输出 >= 40 且 <= 320 的整数。
脚本 B 运行脚本 A 数百万次,需要计算每个数字出现的次数。
执行此操作的最佳方法是什么?必须有比输入 let number40 = 0; let number 41 = 0;
一直到 320 更好的解决方案。
让一个 map-enum-like
对象将 key
保存为 number
并根据它们的出现增加它们的值如何?
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.
所以,我在 Node.js 中有两个脚本 运行。
脚本 A 输出 >= 40 且 <= 320 的整数。
脚本 B 运行脚本 A 数百万次,需要计算每个数字出现的次数。
执行此操作的最佳方法是什么?必须有比输入 let number40 = 0; let number 41 = 0;
一直到 320 更好的解决方案。
让一个 map-enum-like
对象将 key
保存为 number
并根据它们的出现增加它们的值如何?
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.