javascript - 使用地图获取数组中每个项目的数量
问题描述
我正在尝试获取每个字符串项在数组中出现的次数并使用 Map 将其打印出来。我基本上是从 firebase 函数中读取数据,但现在,我正在使用一个数组来测试代码以获取每个项目的出现。我从这里尝试了以下代码,但它不起作用,我不知道为什么:
<script>
var appVersion= ["5012", "5021", "5012", "5011", "5012", "5021"];
var count = new Map();
appVersion.forEach(version=> count.set(count.get(version) + 1));
function show(versions) {
document.write(versions);
document.write("<br>");
}
count.forEach(show);
</script>
任何帮助或建议将不胜感激。
解决方案
也许这有帮助
var appVersion= ["5012", "5021", "5012", "5011", "5012", "5021"];
let counter = {}
for (version of appVersion){
counter[version] = 1 + (counter[version] || 0)
}
console.log(counter);
推荐阅读
- javascript - 当子鼠标移动时,CustomEvent 返回值
- reactjs - 在 React 中,为什么更改非状态道具不提示重新渲染?
- python-3.x - 为什么 for 循环中的值与 Numpys arange 和 linspace 中的值不对应?
- c - 在带有 Syntastic 的 Vim 上的 C 文件中使用 NULL 的问题
- sprite-kit - 如何在 Spritekit 中显示警报框?
- python - 美丽的汤找不到所有
标签
- flutter - Flutter async await http.post,与后端的状态不匹配
- javascript - Switch 语句不切换
- mysql - Unidac / MyDac / SQL - 我在快速插入大约 1000 行时遇到问题
- angular - EventEmitter 发出数据但不发出事件