javascript - 计算大量数据
问题描述
因此,我在 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.
推荐阅读
- java - 如何使用 Eclipse GenModel 生成非公共类
- redux - 使用 Redux Toolkit 的调度操作需要两个参数
- reactjs - React:Ant Design - 日期选择器
- python - 在 pandas 中更改 get_dummies 生成的列的名称
- c - C 编译器中关于未使用枚举的警告
- c# - 如何正确地将 swagger 定义连接到已部署应用程序的子文件夹到主机
- string - 给定字符串 S. count 与 S 长度相同且其中包含 K 个不同字母且在字典上小于 S 的字符串的数量
- node.js - node_modules/rxjs/internal/types.d.ts(90,44) 中的错误:错误 TS1005:';' 预期的
- python - Scipy 的solve_bvp 和耦合微分方程的性能问题
- pandas - 计算特定列中所有 NaN 值的累积计数