从字典数组中删除键值的重复项

2024-01-12

我正在执行 Facebook API 请求,以返回特定 Facebook 群组中的所有专辑名称。我返回一个包含 3 个键/值的字典数组,其中一个是映射到专辑名称的键“name”,以及键“id”和“created_time”。

唯一的问题是,由于某种原因,我取回了专辑的重复“名称”值......但只有几个。当我访问 Facebook 页面时,无论如何,该专辑都只有一个实例,没有重复项。

此外,它们的“id”值不同,但它只是重复项组中具有 Facebook id 的第一个字典实际上指向有效数据,其他 Facebook id 值在执行 Facebook 图表时不会返回任何内容与他们一起搜索,所以这是我想要的第一个重复项。

我怎样才能从我的数组中删除这些无用的重复字典并保留具有有效 Facebook id 的字典?谢谢! :)


首先我想说的是,找到一种方法从 Facebook 获取“干净”的列表可能比事后掩盖问题更有益。目前这可能不可能,但至少找出此行为的原因或提交错误报告。

除此之外,这应该可以解决问题:

-(NSMutableArray *) groupsWithDuplicatesRemoved:(NSArray *)  groups {
    NSMutableArray * groupsFiltered = [[NSMutableArray alloc] init];    //This will be the array of groups you need
    NSMutableArray * groupNamesEncountered = [[NSMutableArray alloc] init]; //This is an array of group names seen so far

    NSString * name;        //Preallocation of group name
    for (NSDictionary * group in groups) {  //Iterate through all groups
        name =[group objectForKey:@"name"]; //Get the group name
        if ([groupNamesEncountered indexOfObject: name]==NSNotFound) {  //Check if this group name hasn't been encountered before
            [groupNamesEncountered addObject:name]; //Now you've encountered it, so add it to the list of encountered names
            [groupsFiltered addObject:group];   //And add the group to the list, as this is the first time it's encountered
        }
    }
    return groupsFiltered;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从字典数组中删除键值的重复项 的相关文章

随机推荐

  • 浮点计算使用 float 给出的结果与使用 double 给出的结果不同

    我有以下代码行 hero gt onBeingHit ENEMY ATTACK POINT 1 0 hero gt getDefensePercent void onBeingHit int decHP 方法接受整数并更新健康点 float
  • WPF ListView 在处理大数据时性能非常差

    我在 WPF 中使用 ListView 时遇到性能非常差的情况 使用大约 30000 条记录 据我所知 虚拟化应该打开 因为这是默认设置 我什至在 XAML 中显式打开它 表现不佳的表现是这样的 初始绑定非常慢 几分钟 滚动速度非常慢 超过
  • 单击将中止进一步执行,因为 Python 3 被配置为使用 ASCII 作为环境编码

    我将 Quokka Python Flask CMS 下载到 CentOS7 服务器上 通过命令一切正常 sudo python3 manage py runserver host 0 0 0 0 port 80 然后我创建一个文件 etc
  • 根据屏幕尺寸更改标签尺寸 xamarin 表单

    我正在使用 xamarin forms 来做一个应用程序 我发现使用相同的大小来向 ios 设备发送字母是行不通的 在 7 plus 上它运行良好 但在 iphone 5 上它对于屏幕大小来说是一个大字母 有人知道如何制作具有可缩放尺寸的字
  • 如何让javascript忽略转义(\)字符? [复制]

    这个问题在这里已经有答案了 qAnswersR 90430 qAnswersR 90430 push math k frac x 20 2 256 frac y 15 2 81 1 math 我需要将值放入变量中 但是当我像这样 conso
  • rtrim 函数不适用于结尾 h 字母[重复]

    这个问题在这里已经有答案了 file refinish php folder rtrim file php echo folder refinis 哪里结束h 我尝试了其他一些结尾字母 没关系 rtrim 不会删除您在第二个参数中指定的字符
  • x86-64 汇编的性能优化 - 对齐和分支预测

    我目前正在编写一些 C99 标准库字符串函数的高度优化版本 例如strlen memset 等 使用带有 SSE 2 指令的 x86 64 汇编 到目前为止 我已经在性能方面取得了出色的结果 但当我尝试进一步优化时 有时会出现奇怪的行为 例
  • Shapeless 中 Nat 类型的限制

    在无形中 Nat 类型代表了一种在类型级别对自然数进行编码的方法 例如 这用于固定大小的列表 您甚至可以在类型级别上进行计算 例如附加一个列表N列表中的元素K元素并返回一个在编译时已知的列表N K元素 Is this representat
  • JPA中@Table注解有什么用?

    使用这些注释的全部目的是独立于数据库提供者 而不是重新生成 JAR 存档 如果我硬核 Table name myDatabase myTableName 我一开始就不明白使用 hibernate 的意义 如果我决定切换到不同的数据库提供商
  • 如何在for循环(Python)中写入txt文件?

    作为一个简单的练习 我试图将最多 500 个素数打印到一个文本文件中 但我不确定如何正确地将写入代码插入到 for 循环中 当前输出的只是最后一个素数 在本例中为 499 for num in range 2 500 prime True
  • Matplotlib Line3DCollection 用于随时间变化的颜色

    我正在尝试绘制随时间演变的 3D 线轨迹 并且我希望颜色发生变化以显示时间的流逝 例如从浅蓝色到深蓝色 然而 明显缺乏使用 matplotlib 的教程Line3DCollection 这是最接近的 https stackoverflow
  • 对 WebService 的 jQuery 调用返回“无传输”错误

    我有以下网络服务 WebMethod public string HelloWorld return Hello World 它是库存标准 没有对类装饰器进行任何更改 我有这个 jQuery 方法 var webMethod http lo
  • SimpleDateFormat 格式错误的值

    以下代码 SimpleDateFormat sdf new SimpleDateFormat MM dd System out println sdf format new Date 1293253200 12 25 2010 05 00
  • 实施工厂模式的正确方法是什么?

    我只是想知道这是否是在 PHP 中创建对象和实现工厂模式的正确方法 我知道我们有工厂方法模式和抽象工厂模式 但是我们有像下面这样的模式吗http noondreams com shared data pages images Factory
  • 如何返回 Mono,其中响应实体可以是两种不同类型

    我是 Spring Webflux Reactor Core 的新手 正在尝试执行以下功能 调用 userservice LoginWebApp 如果返回用户 则返回类型为 User 的ResponseEntity 如果为空 则返回 Str
  • 有没有一种更简单的方法可以删除字符第一次出现之前的所有内容?

    正如标题所说 这确实更出于兴趣 我的文件名格式为1347020478 Workbook1 12 19 19 csv 我想要做的是将时间戳从文件名的开头移开并返回其他所有内容 所以Workbook1 12 19 19 csv 我有以下代码可以
  • VLC 和 MJPEG 解码器流式传输(标头无效)

    我正在制作一个包含视频流的 WinRT 应用程序 现在我以 VLC 作为流媒体服务器和 MJPEGDecoder 库结束 http mjpeg codeplex com http mjpeg codeplex com 在客户端上解码视频 但
  • 如何编写批处理文件来设置类路径并执行java程序

    我的一些java程序需要很多jar文件才能执行 为了执行此操作 我可能必须将所有这些 jar 文件添加到环境变量的类路径变量中 否则每次打开新的 cmd 提示符时都必须在命令提示符处手动设置类路径 我不想在环境变量中的类路径变量中添加所有
  • 虚函数破坏私有访问

    我最近看到这篇文章IBM site http publib boulder ibm com infocenter comphelp v8v101 index jsp topic 2Fcom ibm xlcpp8a doc 2Flanguag
  • 从字典数组中删除键值的重复项

    我正在执行 Facebook API 请求 以返回特定 Facebook 群组中的所有专辑名称 我返回一个包含 3 个键 值的字典数组 其中一个是映射到专辑名称的键 name 以及键 id 和 created time 唯一的问题是 由于某