美文网首页
小算法 数组分组 三个一堆

小算法 数组分组 三个一堆

作者: 木子李55 | 来源:发表于2021-12-09 11:25 被阅读0次

今天碰到一个需求,如下图,接口返回的是一个列表,需要移动端每三个做一页,


效果图

这就需要对列表进行处理,每三个放一堆,重新放到一个数组里,然后cell里放个tableview,用新数据赋值即可。

    /*
    处理前:
    @[@"", @"", @"", @"", @"", @"", @"", @"", @""];
    处理后:
    @[@[@"", @"", @""], @[@"", @"", @""], @[@"", @"", @""]];
     */

    //** 创建处理前的数据
    NSMutableArray *oldList = [NSMutableArray array];
    for (int i = 0; i < 20; i++) {
        [oldList addObject:[NSString stringWithFormat:@"hh-%d", i]];
    }
    NSLog(@"原始数据 %@", oldList);

    // 处理数据
    NSMutableArray *newList = [NSMutableArray array];
    NSMutableArray *tep = [NSMutableArray array];
    for (int i = 0; i < oldList.count; i++) {

        [tep addObject:oldList[i]];

        // 如果遍历完了,最后一次的可能不满也送走
        if (i == oldList.count-1) {
            [newList addObject:tep.mutableCopy];
            [tep removeAllObjects];
        }
        // 加满三个就送走
        if (tep.count == 3) {
            [newList addObject:tep.mutableCopy];
            [tep removeAllObjects];
        }
    }

    NSLog(@"处理后的数据 %@", newList);

相关文章

  • 小算法 数组分组 三个一堆

    今天碰到一个需求,如下图,接口返回的是一个列表,需要移动端每三个做一页, 这就需要对列表进行处理,每三个放一堆,重...

  • js数组分组和去重

    分组 去重 笔试中经常出现的js数组排序与去重算法

  • Java分组密码算法DES

    Java分组密码算法DES 1实验内容 掌握分组密码算法DES方法,能用高级语言实现分组密码算法DES。DES算法...

  • Array类型【数组】

    数组对象的作用是:使用单独的变量名来存储一系列的值。数组就是一堆数据的分组或者集合。数组的对象是Array,也是非...

  • NSArray数组分组归类

    NSArray数组分组归类 [TOC] 数组基本用法 遍历数组 数组排序 分组归类 使用场景 :根据NSAarry...

  • 归并排序

    算法思想 这个算法中基本的操作是合并两个已排序的数组,取两个输入数组 A 和 B,一个输出数组 C,以及三个计数器...

  • DES 加密算法

    DES 加密算法算是分组加密算法中最简单的算法了,了解 DES 加密算法开源对分组加密算法有一个初步的了解。因此,...

  • 0.1例:二分查找

    0.算法解决的问题 二分查找是一个经典的查找算法;查找算法所解决的问题是:如何在一个 排列好的一堆数 (数组)内找...

  • 【golang】切片扩容原理,完成入栈操作

    我们都知道,切片是对一段数组的引用,其内部有指向引用数组首地址指针,长度与容量三个部分组成。其长度相对于数组是可变...

  • Hash算法简介

    参考链接 散列算法(Hash Algorithm),又称哈希算法,杂凑算法,是一种从任意文件中创造小的数组【指纹】...

网友评论

      本文标题:小算法 数组分组 三个一堆

      本文链接:https://www.haomeiwen.com/subject/zvhffrtx.html