gpt4 book ai didi

list - 如何计算列表中项目的出现次数

转载 作者:行者123 更新时间:2023-12-05 01:12:16 24 4
gpt4 key购买 nike

我是 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; });

最佳答案

玩这个:

  var elements = ["a", "b", "c", "d", "e", "a", "b", "c", "f", "g", "h", "h", "h", "e"];
var map = Map();

elements.forEach((element) {
if(!map.containsKey(element)) {
map[element] = 1;
} else {
map[element] +=1;
}
});

print(map);

它的作用是:
  • 循环遍历列表元素
  • 如果您的 map 没有将列表元素设置为键,则创建该元素的值为 1
  • 否则,如果元素已存在,则在现有键值上加 1

  • 或者,如果您喜欢语法糖和一种衬垫,请尝试以下方法:
      var elements = ["a", "b", "c", "d", "e", "a", "b", "c", "f", "g", "h", "h", "h", "e"];
    var map = Map();

    elements.forEach((x) => map[x] = !map.containsKey(x) ? (1) : (map[x] + 1));

    print(map);

    在所有编程语言中有很多方法可以实现这一点!

    关于list - 如何计算列表中项目的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55579906/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com