我有一个由多个映射(词典)组成的列表,而不考虑映射中每个元素的值

var list = [{'a':1, 'b':1, 'c':7},
            {'J':8, 'b':2, 'e':2},
            {'l':1, 'b':3, 'r':4},
            {'u':9, 'k':7} ];

请注意,我不知道列表中会有多少个 map .它可以是0也可以是1000(我是从JSON文件中读取的).

我想要将它们相交,这样输出将如下所示:

var res = 'b';

我已经通过使用以下方法在python中完成了这项工作:

res = set.intersection(*map(set, list))

推荐答案

下面的方法将会起到作用.它通过一个接一个地将贴图关键点相交来折叠列表.

final list = [
  {'a': 1, 'b': 1, 'c': 7},
  {'J': 8, 'b': 2, 'e': 2},
  {'l': 1, 'b': 3, 'r': 4},
  {'u': 9, 'b': 7}
];

final res = list.fold<Set<String>>(
  list.first.keys.toSet(),
  (result, map) => result.intersection(map.keys.toSet()),
);

print(res); // Prints: {b}

Json相关问答推荐

Jolt将键和值转换为单独的数组集

使用单元和非单元版本反序列化Rust中的枚举,而无需编写自定义反序列化程序

如何使用Aeson解码带有Unicode字符的JSON文件?

在解码的JSON哈希中搜索数组元素

如何使用GoFr返回XML响应?

如何用JQ打印JSON文件的路径和键值

解析Ansible AWS ec2_security_group中的json以提取安全组ID

删除 JOLT 中的方括号

Rust实现:高效解析任意大小的JSON数组

具有 (RegEx) 模式的 json-schema 中的枚举

如何在 JSonPath 中按值查找列表中的所有元素

try 使用 JQ 转换 JSON 中过于复杂的对象数组

如何使用 Google 表格应用程序脚本将 JSON 中的多个字段提取到 Google 表格中

转义 Haskell 记录的字段

通过一个序列化器更新多个模型数据

如何在linux中用jq过滤json数组?

Android 上的 JSON - 序列化

我应该如何处理 JSON 中的 HATEOAS 链接和引用?

通过url获取json数据并在python中使用(simplejson)

无法解析 JSON 文件中的 TAB