首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将NSArray的字符串转换为一个唯一字符串数组,顺序相同?

如何将NSArray的字符串转换为一个唯一字符串数组,顺序相同?

答案:要将NSArray的字符串转换为一个唯一字符串数组,顺序相同,可以使用以下方法:

  1. 使用可变参数函数NSStringappendString:withFormat:方法将每个字符串转换为格式化的字符串,然后使用join方法将它们连接起来,最后使用unique方法将连接后的字符串去除重复。
代码语言:txt
复制
NSArray *array = @[@"apple", @"banana", @"orange", @"grape"];
NSString *uniqueString = [array.firstObject stringByAppendingString:@" "]
                                     withFormat:@"%@,%@", [array.firstObject stringByAppendingString:@" "]
                                     withFormat:@"%@,%@", ...];
  1. 将每个字符串转换为一个唯一字符串,然后使用unique方法将它们去除重复。
代码语言:txt
复制
NSArray *array = @[@"apple", @"banana", @"orange", @"grape"];
NSString *uniqueString = [array.firstObject stringByAppendingString:@" "]
                                     withFormat:@"%@", [array.firstObject stringByAppendingString:@" "]
                                     withFormat:@"%@", ...];
  1. 使用sortedArrayUsingComparator方法对原始数组进行排序,然后使用componentsJoinedByString方法将排序后的数组转换为字符串,最后使用unique方法将字符串去除重复。
代码语言:txt
复制
NSArray *array = @[@"apple", @"banana", @"orange", @"grape"];
NSString *uniqueString = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
    return [obj1 compare:obj2];
}]
               componentsJoinedByString:@","];

以上三种方法都可以将NSArray的字符串转换为一个唯一字符串数组,顺序相同。具体使用哪种方法取决于具体的应用场景和需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • iOS-Foundation框架中常用

    字符串中第1个参数替换为第2个参数.原来指针指向字符串内容是不会变,新串是以方法返回值返回.如果串1中有多个相同被替换串,会全部替换。...这些对象在NSArray数组中有序存放一个挨着一个。...数组提供拼接字符串方法 // 将数组所有元素用separator拼接成一个字符串。...是NSArray子类,所以NSMutableArray也可以用来存储数据,唯一不同是NSMutableArray是可变数组,存储在该数组元素可以删除,也可以动态增加元素,其他用法均与NSArray...NSDictionary与NSArray对比 存储过程 NSArray数组元素按照顺序存储, NSDictionary不是按照顺序存储,存储下标是通过哈希算法算出来

    1.7K100

    老司机踩坑系列————中文排序

    2017.05.24更新 -localizedCompare:这个方法能保证排序结果与系统通讯录排序结果相同,基本符合拼音顺序,但偶尔有偏差。...: 然而知识点只有: 字符串拼音 -localizedCompare: ---- 那个手机浏览同志注意了,看到字符串拼音后就可以打住了,下面的内容多图杀猫费流量=。...与-caseInsensitiveCompare:效果相同还有一个专门为了TableView而存在排序类,叫做UILocalizedIndexedCollation。...中英结合字符串 中英结合字符串转换成拼音以后效果跟预想有一定偏差。什么表现呢? 中英结合 为什么这样呢?我们看到拼音时候中英结合是没有空格。...什么鬼顺序 系统这是什么鬼顺序,开始怀疑小学老师教āáǎà是假了都。。老司机都快疯了,妈妈,不要再让我给字符串排序了。。。 又开始翻阅博客如何排序啊。。。

    2K50

    前端JS手写代码面试专题(一)

    面试季来临,JavaScript面试题目也开始频频出现在各位求职者复习资料中。 1、如何编写一个JavaScript函数来反转给定字符串单词顺序? 这个问题答案其实非常巧妙而简洁。...这一步目的是把整个字符串拆分成可以单独操作小块,即单词。 接下来,通过 reverse() 方法,我们将这个数组中单词顺序颠倒。...最后,我们使用 join(' ') 方法将这个已经顺序反转数组再次合并为一个字符串。这里 ' ' 参数保证了单词之间用空格重新连接,保留了原始字符串单词间隔特征。...8、如何将包含连字符(-)和下划线(_)字符串换为驼峰命名风格呢? 在JavaScript开发中,对字符串处理是日常任务中不可或缺一部分。...那么,如何将包含连字符(-)和下划线(_)字符串换为驼峰命名风格呢?例如,字符串“secret_key_one”会被转换为“secretKeyOne”。

    15610

    编码篇-精析OC史诗级技术之KVC

    还有age属性明明是NSNumber类型,怎么可以把字符串赋给它? (1)KVC 不但能够赋值,而且还能破坏只读特性。...@sum: 首先把集合中每个对象都转换为double类型,然后计算其总,最后返回一个值为这个总和NSNumber对象。...@avg: 把集合中每个对象都转换为double类型,返回一个值为平均值NSNumber对象。 @max: 使用compare:方法来确定最大值。...uppercaseString方法,然后把返回对象组成一个数组返回。...可见,只要写好实现,完全可以自定义一些比较有用Collection Operators 字典模型 下面是常见使用方法,目前有很多KVC 和 Runtime一起使用达到Json数据自动模型方法,

    1.3K20

    iOS - 关于 KVC 一些总结

    数组运算符:根据运算符条件,将符合条件对象以一个NSArray实例返回。 ③ 嵌套运算符:处理集合对象中嵌套其他集合对象情况,并根据运算符返回一个NSArray或NSSet实例。...数组运算符 根据运算符条件,将符合条件对象以一个NSArray实例返回。 @unionOfObjects 读取集合中每个元素右键路径指定属性,放在一个NSArray实例中并返回。...NSArray *payees = [self.transactions valueForKeyPath:@"@unionOfObjects.payee"]; // payees 数组包含以下字符串:Green...@distinctUnionOfArrays 读取集合中每个集合中每个元素右键路径指定属性,放在一个NSArray实例中,将数组进行去重后返回。...如果取到值不是一个NSNumber支持数据类型,则转换为NSValue对象, 然后返回。

    1.9K10

    iOS开发·runtime+KVC实现多层字典模型转换(多层数据:模型嵌套模型,模型嵌套数组数组嵌套模型)

    笔者KVC系列为: iOS开发·KVC:字典模型,防止因本地未定义字段(后台字段与本地字符串名不一致)导致数据转换过程中奔溃 iOS开发·runtime+KVC实现字典模型转换 1....至于实现途径,可以提供一个NSObject分类,专门字典模型,以后所有模型都可以通过这个分类。...* 返回值: 所有属性数组, C 语言中,数组名字,就是指向第一个元素地址 */ /* retain, creat, copy 需要release */ objc_property_t...中也是字典,把数组字典转换成模型. // 判断值是否是数组 if ([value isKindOfClass:[NSArray class]]) {...中也是字典,把数组字典转换成模型. // 判断值是否是数组 if ([obj isKindOfClass:[NSArray class]]) {

    2.5K10

    Swift3.0 - 数据类型

    // 字符数组字符串 let catString = String(catCharacters) // Unicode编码 let precomposed: Character = "\u{D55C}...()) 运行: 我是一个Double类型数字3.44 我是一个Int类型数字3 Self 好处 专门用于不确定数据类型 需求:给所有数字类型,扩展一个平方函数,返回自己操作 /...---- 你需要注意 如果指出变量类型,赋值值必须是和他类型相同值,不然编译不通过 var num:Int = 43.0//(编译错误) 2.浮点数类型推断出来默认为Double类型...= Double(name) 4.数字之间转换结果为非可选值,数字字符串也是非可选值,但是字符串转数字就是可选值(因为它有可能转换失败) let str = "\(num1)" let str1...33.0 Int 类型只会是nil 不会是33 因为字符串33.0 不是Int类型转换失败,但是浮点数33.0 可以转换为33 5.不能推断出下面的类型 let list1 = ["你好","2

    63310

    Java字符串面试问答

    我们可以使用replaceAll方法将一个字符串所有出现替换为一个字符串。...如何将String转换为char,反之亦然? 这是一个棘手问题,因为String是字符序列,所以我们不能将其转换为单个字符。...我们可以使用use charAt方法来获取给定索引处字符,也可以使用toCharArray()method将String转换为字符数组如何将字符串换为字节数组,反之亦然?...这存在安全风险,因为任何有权访问内存储的人都可以找到明文形式密码。 如果我们使用char数组存储密码,则在完成密码设置后可以将其设置为空白。...否则,将此String对象添加到池中,并返回对此String对象引用。 此方法始终返回一个与该字符串具有相同内容字符串,但是保证该字符串来自唯一字符串池。

    1.2K50

    YYModel 源码剖析:关注性能

    parser) return nil; return parser(string); #undef kParserNum } 在 NSDictionary 原数据模型时候,会有将时间格式编码字符串原数据转成...NSDate 类型,最后将闭包对象放入数组,而放入下标即为字符串长度。...实际上这也是 hash 思想,当传入有效时间格式 NSString 对象时,通过其长度就能直接取到 blocks 数组闭包对象,调用闭包传入该字符串就能直接得到转换后 NSDate 对象。...特别的,可以使用“.”来链接字符形成一个路径,也可以传入一个数组,当映射一个数组时候,json -> model 时候会找到第一个有效映射作为model属性值。...作者做了一个判断,若 mapper中存在相同 key 属性,就改变了一下指针,做了一个链接,将相同映射 key 属性连接起来形成一个链表。

    2K80

    吐血总结!50道Python面试题集锦(附答案)「建议收藏」

    Python中数组和列表具有相同存储数据方式。但是,数组只能包含单个数据类型元素,而列表可以包含任何数据类型元素。 Q16、Python中函数是什么? 函数是一个代码块,只有在被调用时才会执行。...Pickle模块接受任何Python对象并将其转换为字符串表示形式,并使用dump函数将其储到文件中,此过程称为pickling。...在Python中,capitalize()函数可以将字符串一个字母大写。如果字符串在开头已经包含大写字母,那么它将返回原始字符串。 Q30、如何将字符串换为全小写?...负索引用于从字符串中删除任何换行符,并允许该字符串除了作为S [: – 1]给出最后一个字符。负索引还用于显示索引以正确顺序表示字符串。 Q42、什么是Python包?...Q46、如何将值添加到python数组? 可以使用append(),extend()和insert(i,x)函数将元素添加到数组中。 Q47、如何删除python数组值?

    10.4K10

    吐血总结!100个Python面试问题集锦

    Python中数组和列表具有相同存储数据方式。但是,数组只能包含单个数据类型元素,而列表可以包含任何数据类型元素。 Q16、Python中函数是什么? 函数是一个代码块,只有在被调用时才会执行。...Pickle模块接受任何Python对象并将其转换为字符串表示形式,并使用dump函数将其储到文件中,此过程称为pickling。...在Python中,capitalize()函数可以将字符串一个字母大写。如果字符串在开头已经包含大写字母,那么它将返回原始字符串。 Q30、如何将字符串换为全小写?...负索引用于从字符串中删除任何换行符,并允许该字符串除了作为S [: - 1]给出最后一个字符。负索引还用于显示索引以正确顺序表示字符串。 Q42、什么是Python包?...Q46、如何将值添加到python数组? 可以使用append(),extend()和insert(i,x)函数将元素添加到数组中。 Q47、如何删除python数组值?

    9.9K20

    python面试题目及答案(数据库常见面试题及答案)

    Python中数组和列表具有相同存储数据方式。但是,数组只能包含单个数据类型元素,而列表可以包含任何数据类型元素。 Q16、Python中函数是什么? 函数是一个代码块,只有在被调用时才会执行。...Pickle模块接受任何Python对象并将其转换为字符串表示形式,并使用dump函数将其储到文件中,此过程称为pickling。...在Python中,capitalize()函数可以将字符串一个字母大写。如果字符串在开头已经包含大写字母,那么它将返回原始字符串。 Q30、如何将字符串换为全小写?...负索引用于从字符串中删除任何换行符,并允许该字符串除了作为S [: – 1]给出最后一个字符。负索引还用于显示索引以正确顺序表示字符串。 Q42、什么是Python包?...Q46、如何将值添加到python数组? 可以使用append(),extend()和insert(i,x)函数将元素添加到数组中。 Q47、如何删除python数组值?

    11.2K20

    iOS开发·必会算法操作:字符串数组排序+模型对象数组排序

    传送门:排序算法演示小DEMO 前面的话 为了给字符串数组排序,除了用C/C++基本办法,iOS开发者更应该学会利用苹果专门为NSArray 排序提供sortedArrayUsingComparator...image.png 如果数组里面是字符串,在设置其block体时候,你也可以利用苹果专门为NSString 提供字符串比较方法,获得一个NSComparisonResult 类型,将其自动返回。...不区分同一个字符(如日文片假字)半角与全角状态。相同元素,维持原序。 默认区分字母大小写,同一个字符小写在前,大写在后。 字母并非按unicode码大小升序排列。...请取出NSString类全部公有 属性 并存放到一个数组,并利用NSArraysortedArrayUsingComparator方法给这个数组进行升序排序操作。...请取出NSURL类中包括私有 在内全部 成员变量,并存放到一个数组,并利用NSArraysortedArrayUsingComparator方法给这个数组进行升序排序操作。

    2K10

    iOS开发·KVC:字典模型,防止因本地未定义字段(后台字段与本地字符串名不一致)导致数据转换过程中奔溃

    笔者KVC系列为: iOS开发·KVC:字典模型,防止因本地未定义字段(后台字段与本地字符串名不一致)导致数据转换过程中奔溃 iOS开发·runtime+KVC实现字典模型转换 1....含有系统关键字同名字段字典 如上所示,许多JSON数据里面会有一个id字段, 而id是iOS一个关键字,不能用关键字定义属性名,此时我们就需要在model类中修改这个属性名字,并在- (void...示例 假设,APP本地里面用plist写了一个字典数组,然后写一个CustomerListModel模型。...现在,需要将这个plist字典数组转换成CustomerListModel模型数组,并在VC取值出来赋给表单元cell模型数组,用于展示数据。...; 2).重写懒加载,并在tableView代理方法调取模型数组用于显示: #pragma mark - 懒加载模型数组 - (NSArray *)customerListModelArr

    1.4K20
    领券