Swift:如何将一个字符串数组拆分成多个匹配值数组?
发布时间:2020-12-14 04:48:07 所属栏目:百科 来源:网络整理
导读:假设我有一个值数组(按字母顺序排列),例如[A,B,D,G,H,M,Z]代表用户的姓氏.我正在寻找创建一个表索引,那么将这样的数组(任意数量的用姓氏以字母表中的所有字母开头的用户)分成数组的最佳方法是什么,如[A] [B,B] [D] [G,G] [H] [M,M] [Z]这似乎是为具有多个部
假设我有一个值数组(按字母顺序排列),例如[A,B,D,G,H,M,Z]代表用户的姓氏.我正在寻找创建一个表索引,那么将这样的数组(任意数量的用姓氏以字母表中的所有字母开头的用户)分成数组的最佳方法是什么,如[A] [B,B] [D] [G,G] [H] [M,M] [Z]这似乎是为具有多个部分的表创建值的最佳方式,其中用户以姓氏分隔.谢谢你的帮助!
解决方法
您可以使用name.characters.first获取名称的初始值,并通过比较它们来构建数组数组:
let names = ["Aaron","Alice","Bob","Charlie","Chelsea","David"] var result: [[String]] = [] var prevInitial: Character? = nil for name in names { let initial = name.characters.first if initial != prevInitial { // We're starting a new letter result.append([]) prevInitial = initial } result[result.endIndex - 1].append(name) } print(result) // [["Aaron","Alice"],["Bob"],["Charlie","Chelsea"],["David"]] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |