IOS-篩選數組內的元素

來源:互聯網
上載者:User

IOS-篩選數組內的元素

    //需要去掉的元素數組    NSMutableArray *filteredArray = [[NSMutableArray alloc]initWithObjects:@"1",@"4", nil];    //需要被篩選的數組    NSMutableArray *dataArray = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"1",@"4",@"6",@"1",@"1",@"4",@"1",@"6",@"4", nil];    /*     方法一:利用NSPredicate            註:NSPredicate所屬Cocoa架構,在密碼、使用者名稱等正則判斷中經常用到。                類似於SQL語句                NOT 不是                SELF 代表字串本身                IN 範圍運算子                那麼NOT (SELF IN %@) 意思就是:不是這裡所指定的字串的值     */    NSPredicate * filterPredicate = [NSPredicate predicateWithFormat:@"NOT (SELF IN %@)",filteredArray];    //過濾數組    NSArray * reslutFilteredArray = [dataArray filteredArrayUsingPredicate:filterPredicate];    NSLog(@"Reslut Filtered Array = %@",reslutFilteredArray);    /*     結果:     Reslut Filtered Array = (     2,     6,     6     )     */        /*     方法二:從後往前遍曆數組,然後匹配刪除     */    int i = (int)[dataArray count]-1;    for(;i >= 0;i --){        //containsObject 判斷元素是否存在於數組中(根據兩者的記憶體位址判斷,相同:YES  不同:NO)        if([filteredArray containsObject:[dataArray objectAtIndex:i]]) {            [dataArray removeObjectAtIndex:i];        }    }    NSLog(@"Data Array = %@",dataArray);    /*     結果:     Data Array = (     2,     6,     6     )     */

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.