美文网首页
数组去重方法

数组去重方法

作者: best_su | 来源:发表于2018-07-02 14:33 被阅读0次
 //一、  利用keyValue的方式
NSArray *dataArray = @[
                           @"2014",@"2015",@"2016",
                           @"2017",@"2018",@"2019",
                           @"2014",@"2015",@"2016",
                           @"2017",@"2018",@"2019",
                           @"2014",@"2015",@"2016",
                           @"2017",@"2018",@"2019",
                           @"2014",@"2015",@"2016",
                           @"2017",@"2018",@"2019"];
    dataArray = [dataArray valueForKeyPath:@"@distinctUnionOfObjects.self"];
    NSLog(@"%@",dataArray);

//  打印结果:
 (
   "2014",
   "2015",
   "2016",
   "2017",
   "2018",
   "2019"
)

//  distinctUnionOfObjects的解释 
// @distinctUnionOfObjects:返回操作对象内部的不同对象,返回值为数组
//第二种方法 :使用谓词
 NSArray * arr1 = @[@2,@3];
 NSArray * arr2 = @[@2,@3,@4,@5];
 NSPredicate * filterPredicate = [NSPredicate predicateWithFormat:@"NOT (SELF IN %@)",arr1]; 
 NSArray * filter = [arr2 filteredArrayUsingPredicate:filterPredicate]; 
 NSLog(@"%@",filter);

// 打印结果: 
(
  4,
  5
)
// 三: 使用NSSet

 NSArray *dataArray = @[
                           @"2014",@"2015",@"2016",
                           @"2017",@"2018",@"2019",
                           @"2014",@"2015",@"2016",
                           @"2017",@"2018",@"2019",
                           @"2014",@"2015",@"2016",
                           @"2017",@"2018",@"2019",
                           @"2014",@"2015",@"2016",
                           @"2017",@"2018",@"2019"];
    NSSet *set = [NSSet setWithArray:dataArray];
    NSLog(@"%@",[set allObjects]);

// 打印结果:
(
  "2014",
  "2015",
  "2016",
  "2017",
  "2018",
  "2019"
)

// 利用字典
NSArray *dataArray = @[
                           @"2014",@"2015",@"2016",
                           @"2017",@"2018",@"2019",
                           @"2014",@"2015",@"2016",
                           @"2017",@"2018",@"2019",
                           @"2014",@"2015",@"2016",
                           @"2017",@"2018",@"2019",
                           @"2014",@"2015",@"2016",
                           @"2017",@"2018",@"2019"];
    NSMutableDictionary *dic = [[NSMutableDictionary alloc]initWithCapacity:0];
    for(NSString *str in dataArray)
    {
        [dic setValue:str forKey:str];
    }
    NSLog(@"%@",[dic allKeys]);

//  打印结果:
 (
   "2014",
   "2015",
   "2016",
   "2017",
   "2018",
   "2019"
)

相关文章

  • ES6数组去重

    普通数组去重 方法1 方法2 对象数组去重

  • js数组去重、对象数组去重

    普通数组去重 一、普通数组去重 方法一:遍历数组法 方法二:排序法 方法三:对象法 对象数组去重 方法一:将对象数...

  • Array集结号

    实现数组去重的几种方法 数组去重一 数组去重二 利用数组indexof+push实现数组去重 数组去重三 利用对象...

  • 数组

    数组 数组常用方法 数组去重

  • 数组去重

    分类 非对象数组去重 对象数组去重 分类一 --- 非对象数组去重 方法一: set(es6常用) 方法二:red...

  • 数组对象去重方法:

    数组对象去重方法: // 数组对象去重 ```` toRetry = (arr = []) => { let re...

  • js:数组去重

    数组去重的常见写法: 数组去重封装成方法: es6的数组去重(Array.from):

  • JS实现数组去重常用的六种方法

    双重for循环去重 includes实现数组去重 indexOf实现数组去重 利用set方法去重 ES6 Arra...

  • 数组去重方法

  • 数组去重方法

    const array = [1, 2, 3, '1', true, 'true', 9, 1, true] 使用...

网友评论

      本文标题:数组去重方法

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