对单个字符串数组进行排序

时间:2018-02-24 20:45:57

标签: arrays swift string

如果我有这样的数组:

var names = ["Bob Smith", "Carl Jones", "Mike Thompson"]

我想按字母顺序对它们进行排序,使用由空格分隔的字符串的第二部分(所以“Bob Smith”中的“Smith”),最简单的方法是用空格分隔字符串创建两个子字符串,然后比较两个结束部分,或者有更简单的方法吗?

提前感谢您的回复!

1 个答案:

答案 0 :(得分:0)

我通过创建一个带有名字和姓氏的结构来解决类似的挑战。然后很容易选择我想要如何排序名称。

struct Person {
    let firstName: String
    let lastName: String
}

let people = [
    Person(firstName: "Bob", lastName: "Smith"),
    Person(firstName: "Carl", lastName: "Jones"),
    Person(firstName: "Mike", lastName: "Thompson")
]

let sorted = people.sorted { $0.lastName < $1.lastName }