小算法 數組分組 三個一堆

今天碰到一個需求,如下圖,接口返回的是一個列表,需要移動端每三個做一頁,


效果圖

這就需要對列表進行處理,每三個放一堆,重新放到一個數組里,然后cell里放個tableview,用新數據賦值即可。

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

    //** 創(chuàng)建處理前的數據
    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);

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容