我是 dart 新手。目前我有一个重复项目的列表,我想计算它们的出现次数并将其存储在Map中。
var elements = ["a", "b", "c", "d", "e", "a", "b", "c", "f", "g", "h", "h", "h", "e", "a"];
我希望得到这样的结果:
{
"a": 3,
"b": 2,
"c": 2,
"d": 2,
"e": 2,
"f": 1,
"g": 1,
"h": 3
}
我做了一些研究,找到了一个JavaScript解决方案,但我不知道如何将其转换为Dart。
var counts = {};
your_array.forEach(function(x) { counts[x] = (counts[x] || 0)+1; });
4条答案
按热度按时间wnrlj8wa1#
试试这个:
它的作用是:
或者如果你喜欢语法糖和一行程序,试试这个:
在所有的编程语言中有很多方法可以实现这一点!
gcuhipw92#
计算项目在List中出现次数的最短方法
项目列表。项目计数等于1。
对象列表。对属性存在时间等于1的对象进行计数。
7bsow1i63#
对贴图使用
fold
:输出:
{a: 3, b: 2, c: 2, d: 1, e: 2, f: 1, g: 1, h: 3}
2ekbmq324#
最后,这一切都归结为FOR循环